@nlabs/reaktor 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/GENERATION.md +38 -16
- package/lib/actions/alfredFaq.js +1 -1
- package/lib/actions/analytics.js +1 -1
- package/lib/actions/apps.js +1 -1
- package/lib/actions/connections.js +1 -1
- package/lib/actions/content.js +1 -1
- package/lib/actions/contentGeneration.d.ts +3 -0
- package/lib/actions/contentGeneration.js +62 -9
- package/lib/actions/contentGenerationErrors.js +1 -1
- package/lib/actions/conversations.js +1 -1
- package/lib/actions/crm.js +1 -1
- package/lib/actions/crud.js +1 -1
- package/lib/actions/databaseAccounts.js +1 -1
- package/lib/actions/databaseProvisioningLease.js +1 -1
- package/lib/actions/dynamodb.js +1 -1
- package/lib/actions/email.js +1 -1
- package/lib/actions/files.js +1 -1
- package/lib/actions/flags.js +1 -1
- package/lib/actions/geminiVideo.js +1 -1
- package/lib/actions/groups.js +1 -1
- package/lib/actions/higgsfield.js +1 -1
- package/lib/actions/imageGeneration.js +1 -1
- package/lib/actions/images.js +1 -1
- package/lib/actions/index.js +1 -1
- package/lib/actions/ios.js +1 -1
- package/lib/actions/locations.js +1 -1
- package/lib/actions/messages.js +1 -1
- package/lib/actions/notifications.js +1 -1
- package/lib/actions/ollamaGeneration.js +1 -1
- package/lib/actions/openaiResponseSession.js +1 -1
- package/lib/actions/payments.js +1 -1
- package/lib/actions/personas.js +1 -1
- package/lib/actions/phoneSupport.js +1 -1
- package/lib/actions/posts.js +1 -1
- package/lib/actions/query.js +1 -1
- package/lib/actions/reactions.js +1 -1
- package/lib/actions/rum.js +1 -1
- package/lib/actions/s3.js +1 -1
- package/lib/actions/search.js +1 -1
- package/lib/actions/sms.js +1 -1
- package/lib/actions/statistics.js +1 -1
- package/lib/actions/subscriptions.js +1 -1
- package/lib/actions/tags.js +1 -1
- package/lib/actions/users.js +1 -1
- package/lib/actions/videoGeneration.js +1 -1
- package/lib/actions/videos.js +1 -1
- package/lib/adapters/arangoAdapter.js +1 -1
- package/lib/adapters/contentAdapter.js +1 -1
- package/lib/adapters/fileAdapter.js +1 -1
- package/lib/adapters/geminiGenerationAdapter.js +1 -1
- package/lib/adapters/higgsfieldAdapter.js +1 -1
- package/lib/adapters/higgsfieldModelCatalog.js +1 -1
- package/lib/adapters/higgsfieldModels.js +1 -1
- package/lib/adapters/imageAdapter.js +1 -1
- package/lib/adapters/imageGenerationAdapter.js +1 -1
- package/lib/adapters/index.js +1 -1
- package/lib/adapters/messageAdapter.js +1 -1
- package/lib/adapters/postAdapter.js +1 -1
- package/lib/adapters/reaktorAdapter.js +1 -1
- package/lib/adapters/tagAdapter.js +1 -1
- package/lib/adapters/userAdapter.js +1 -1
- package/lib/assistant/core.js +1 -1
- package/lib/assistant/faq.js +1 -1
- package/lib/assistant/faqCore.js +1 -1
- package/lib/assistant/index.js +1 -1
- package/lib/assistant/service.js +1 -1
- package/lib/config.js +1 -1
- package/lib/constants/collections.js +1 -1
- package/lib/durableChat/conversations.js +1 -1
- package/lib/durableChat/errors.js +1 -1
- package/lib/durableChat/events.js +1 -1
- package/lib/durableChat/index.js +1 -1
- package/lib/durableChat/membership.js +1 -1
- package/lib/durableChat/messageTypes.js +1 -1
- package/lib/durableChat/messages.js +1 -1
- package/lib/durableChat/transaction.js +1 -1
- package/lib/durableChat/types.js +1 -1
- package/lib/handlers/graphqlHandler.js +1 -1
- package/lib/index.js +1 -1
- package/lib/lambdas/actions/websockets.js +1 -1
- package/lib/lambdas/authorizer.js +1 -1
- package/lib/lambdas/connection.js +1 -1
- package/lib/lambdas/utils/message.js +1 -1
- package/lib/lambdas/utils/websocket.js +1 -1
- package/lib/mocks/conversation.js +1 -1
- package/lib/mocks/file.js +1 -1
- package/lib/mocks/group.js +1 -1
- package/lib/mocks/image.js +1 -1
- package/lib/mocks/post.js +1 -1
- package/lib/mocks/tag.js +1 -1
- package/lib/mocks/user.js +1 -1
- package/lib/mocks/video.js +1 -1
- package/lib/mutations/analytics/analytics.js +1 -1
- package/lib/mutations/content/content.js +1 -1
- package/lib/mutations/crm/crm.js +1 -1
- package/lib/mutations/events/events.js +1 -1
- package/lib/mutations/flags/flags.js +1 -1
- package/lib/mutations/groups/groups.js +1 -1
- package/lib/mutations/higgsfield/higgsfield.js +1 -1
- package/lib/mutations/images/images.js +1 -1
- package/lib/mutations/index.js +1 -1
- package/lib/mutations/locations/locations.js +1 -1
- package/lib/mutations/messages/messages.js +1 -1
- package/lib/mutations/personas/personas.js +1 -1
- package/lib/mutations/posts/posts.js +1 -1
- package/lib/mutations/reactions/reactions.js +1 -1
- package/lib/mutations/rum/rum.js +1 -1
- package/lib/mutations/statistics/statistics.js +1 -1
- package/lib/mutations/subscriptions/subscriptions.js +1 -1
- package/lib/mutations/tags/tags.js +1 -1
- package/lib/mutations/users/users.js +1 -1
- package/lib/mutations/videos/videos.js +1 -1
- package/lib/nativePush/graphql.js +1 -1
- package/lib/nativePush/index.js +1 -1
- package/lib/nativePush/migrations.js +1 -1
- package/lib/nativePush/nativePushContract.fixture.js +1 -1
- package/lib/nativePush/payload.js +1 -1
- package/lib/nativePush/repository.js +1 -1
- package/lib/nativePush/service.js +1 -1
- package/lib/nativePush/snsProvider.js +1 -1
- package/lib/nativePush/types.js +1 -1
- package/lib/objectTypes/analytics.js +1 -1
- package/lib/objectTypes/app.js +1 -1
- package/lib/objectTypes/bankAccount.js +1 -1
- package/lib/objectTypes/connection.js +1 -1
- package/lib/objectTypes/content.js +1 -1
- package/lib/objectTypes/contentGeneration.js +1 -1
- package/lib/objectTypes/conversation.js +1 -1
- package/lib/objectTypes/creditCard.js +1 -1
- package/lib/objectTypes/crm.js +1 -1
- package/lib/objectTypes/document.js +1 -1
- package/lib/objectTypes/error.js +1 -1
- package/lib/objectTypes/event.js +1 -1
- package/lib/objectTypes/external.js +1 -1
- package/lib/objectTypes/file.js +1 -1
- package/lib/objectTypes/filter.js +1 -1
- package/lib/objectTypes/flag.js +1 -1
- package/lib/objectTypes/group.js +1 -1
- package/lib/objectTypes/higgsfield.js +1 -1
- package/lib/objectTypes/iapSubscription.js +1 -1
- package/lib/objectTypes/image.js +1 -1
- package/lib/objectTypes/imageGeneration.js +1 -1
- package/lib/objectTypes/index.js +1 -1
- package/lib/objectTypes/location.js +1 -1
- package/lib/objectTypes/message.js +1 -1
- package/lib/objectTypes/passcode.js +1 -1
- package/lib/objectTypes/persona.js +1 -1
- package/lib/objectTypes/plan.js +1 -1
- package/lib/objectTypes/post.js +1 -1
- package/lib/objectTypes/query.js +1 -1
- package/lib/objectTypes/reaction.js +1 -1
- package/lib/objectTypes/relation.js +1 -1
- package/lib/objectTypes/rum.js +1 -1
- package/lib/objectTypes/search.js +1 -1
- package/lib/objectTypes/statistics.js +1 -1
- package/lib/objectTypes/subscription.js +1 -1
- package/lib/objectTypes/tag.js +1 -1
- package/lib/objectTypes/user.js +1 -1
- package/lib/objectTypes/video.js +1 -1
- package/lib/objectTypes/videoGeneration.js +1 -1
- package/lib/organizations/accountLifecycle.js +1 -1
- package/lib/organizations/authorization.js +1 -1
- package/lib/organizations/billing.js +1 -1
- package/lib/organizations/billingProvider.js +1 -1
- package/lib/organizations/billingUpdates.js +1 -1
- package/lib/organizations/index.js +1 -1
- package/lib/organizations/mail.js +1 -1
- package/lib/organizations/memberDirectory.js +1 -1
- package/lib/organizations/membership.js +1 -1
- package/lib/organizations/passwordRecovery.js +1 -1
- package/lib/organizations/plans.js +1 -1
- package/lib/organizations/providerPagination.js +1 -1
- package/lib/organizations/reconciliation.js +1 -1
- package/lib/organizations/signup.js +1 -1
- package/lib/organizations/store.js +1 -1
- package/lib/organizations/types.js +1 -1
- package/lib/organizations/verification.js +1 -1
- package/lib/queries/analytics/analytics.js +1 -1
- package/lib/queries/content/content.js +1 -1
- package/lib/queries/crm/crm.js +1 -1
- package/lib/queries/events/events.js +1 -1
- package/lib/queries/flags/flags.js +1 -1
- package/lib/queries/groups/groups.js +1 -1
- package/lib/queries/higgsfield/higgsfield.js +1 -1
- package/lib/queries/images/images.js +1 -1
- package/lib/queries/index.js +1 -1
- package/lib/queries/locations/locations.js +1 -1
- package/lib/queries/messages/messages.js +1 -1
- package/lib/queries/personas/personas.js +1 -1
- package/lib/queries/posts/posts.js +1 -1
- package/lib/queries/query/query.js +1 -1
- package/lib/queries/reactions/reactions.js +1 -1
- package/lib/queries/statistics/statistics.js +1 -1
- package/lib/queries/subscriptions/subscriptions.js +1 -1
- package/lib/queries/tags/tags.js +1 -1
- package/lib/queries/users/users.js +1 -1
- package/lib/queries/videos/videos.js +1 -1
- package/lib/templates/email/layout.js +1 -1
- package/lib/templates/email/passwordForgot.js +1 -1
- package/lib/templates/email/passwordRecovery.js +1 -1
- package/lib/templates/email/verifyEmail.js +1 -1
- package/lib/templates/email/welcome.js +1 -1
- package/lib/templates/sms/passwordForgot.js +1 -1
- package/lib/templates/sms/passwordRecovery.js +1 -1
- package/lib/templates/sms/verifyEmail.js +1 -1
- package/lib/templates/sms/verifyPhone.js +1 -1
- package/lib/templates/sms/welcome.js +1 -1
- package/lib/types/analytics.types.js +1 -1
- package/lib/types/apps.types.js +1 -1
- package/lib/types/arangodb.types.js +1 -1
- package/lib/types/auth.types.js +1 -1
- package/lib/types/connections.types.js +1 -1
- package/lib/types/content.types.js +1 -1
- package/lib/types/conversations.types.js +1 -1
- package/lib/types/crm.types.js +1 -1
- package/lib/types/databaseCredentials.types.js +1 -1
- package/lib/types/email.types.js +1 -1
- package/lib/types/error.types.js +1 -1
- package/lib/types/files.types.js +1 -1
- package/lib/types/flags.types.js +1 -1
- package/lib/types/google.types.js +1 -1
- package/lib/types/groups.types.js +1 -1
- package/lib/types/images.types.js +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/locations.types.js +1 -1
- package/lib/types/messages.types.js +1 -1
- package/lib/types/notifications.types.js +1 -1
- package/lib/types/payments.types.js +1 -1
- package/lib/types/personas.types.js +1 -1
- package/lib/types/posts.types.js +1 -1
- package/lib/types/rum.types.js +1 -1
- package/lib/types/statistics.types.js +1 -1
- package/lib/types/tags.types.js +1 -1
- package/lib/types/users.types.js +1 -1
- package/lib/types/videos.types.js +1 -1
- package/lib/types/websockets.types.js +1 -1
- package/lib/upload.js +1 -1
- package/lib/utils/adapterUtils.js +1 -1
- package/lib/utils/analyticsUtils.js +1 -1
- package/lib/utils/appContext.js +1 -1
- package/lib/utils/aqlHelpers.js +1 -1
- package/lib/utils/arangodbUtils.js +1 -1
- package/lib/utils/authUtils.js +1 -1
- package/lib/utils/awsUtils.js +1 -1
- package/lib/utils/collectionRegistry.js +1 -1
- package/lib/utils/contextUtils.js +1 -1
- package/lib/utils/databaseCredentials.js +1 -1
- package/lib/utils/dbI18n.example.js +1 -1
- package/lib/utils/dbI18n.js +1 -1
- package/lib/utils/generationCallback.js +1 -1
- package/lib/utils/googleTranslate.js +1 -1
- package/lib/utils/graphqlUtils.js +1 -1
- package/lib/utils/imageUtils.js +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/languageDetection.js +1 -1
- package/lib/utils/localeUtils.example.js +1 -1
- package/lib/utils/localeUtils.js +1 -1
- package/lib/utils/mediaAccess.js +1 -1
- package/lib/utils/middlewareUtils.js +1 -1
- package/lib/utils/nodeRealtime.js +1 -1
- package/lib/utils/opaqueToken.js +1 -1
- package/lib/utils/queryBuilder.js +1 -1
- package/lib/utils/schemaUtils.js +1 -1
- package/lib/utils/secretDatabase.js +1 -1
- package/lib/utils/sessionUtils.js +1 -1
- package/lib/utils/stripeUtils.js +1 -1
- package/lib/utils/stripeUtils.ts.bak +1 -1
- package/lib/utils/templateUtils.js +1 -1
- package/lib/utils/testUtils.js +1 -1
- package/lib/utils/translationQueue.example.js +1 -1
- package/lib/utils/translationQueue.js +1 -1
- package/lib/videoProcessing.js +1 -1
- package/package.json +1 -1
package/lib/actions/flags.js
CHANGED
|
@@ -144,4 +144,4 @@ export const resetFlagOverride = async (context, key)=>{
|
|
|
144
144
|
return toResolvedFlag(definition);
|
|
145
145
|
};
|
|
146
146
|
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9mbGFncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcblxuaW1wb3J0IHtpc0FkbWluVXNlcn0gZnJvbSAnLi4vdXRpbHMvc2Vzc2lvblV0aWxzLmpzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7RmxhZ0RlZmluaXRpb24sIEZsYWdPdmVycmlkZSwgRmxhZ1ZhbHVlLCBSZXNvbHZlZEZsYWd9IGZyb20gJy4uL3R5cGVzL2ZsYWdzLnR5cGVzLmpzJztcblxuY29uc3QgQ09MTEVDVElPTiA9ICdmbGFncyc7XG5jb25zdCBGTEFHX0tFWV9QQVRURVJOID0gL15bQS1aYS16MC05XVtBLVphLXowLTkuXzotXXswLDE5OX0kLztcblxuY29uc3QgZ2V0RGVmaW5pdGlvbnMgPSAoY29udGV4dDogQXBpQ29udGV4dCk6IHJlYWRvbmx5IEZsYWdEZWZpbml0aW9uW10gPT4gY29udGV4dC5mbGFnRGVmaW5pdGlvbnMgfHwgW107XG5cbmNvbnN0IHZhbGlkYXRlRGVmaW5pdGlvbiA9IChkZWZpbml0aW9uOiBGbGFnRGVmaW5pdGlvbik6IHZvaWQgPT4ge1xuICBpZighRkxBR19LRVlfUEFUVEVSTi50ZXN0KGRlZmluaXRpb24ua2V5KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZF9mbGFnX2tleToke2RlZmluaXRpb24ua2V5fWApO1xuICB9XG4gIGlmKGRlZmluaXRpb24udHlwZSA9PT0gJ2Jvb2xlYW4nICYmIHR5cGVvZiBkZWZpbml0aW9uLmRlZmF1bHRWYWx1ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkX2Jvb2xlYW5fZmxhZ19kZWZhdWx0OiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gIH1cbiAgaWYoZGVmaW5pdGlvbi50eXBlID09PSAndmFyaWFudCcpIHtcbiAgICBpZih0eXBlb2YgZGVmaW5pdGlvbi5kZWZhdWx0VmFsdWUgIT09ICdzdHJpbmcnIHx8ICFkZWZpbml0aW9uLnZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWRfdmFyaWFudF9mbGFnOiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gICAgfVxuICAgIGlmKCFkZWZpbml0aW9uLnZhbHVlcy5pbmNsdWRlcyhkZWZpbml0aW9uLmRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdmFyaWFudF9kZWZhdWx0X25vdF9hbGxvd2VkOiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCB2YWxpZGF0ZVZhbHVlID0gKGRlZmluaXRpb246IEZsYWdEZWZpbml0aW9uLCB2YWx1ZTogRmxhZ1ZhbHVlKTogdm9pZCA9PiB7XG4gIGlmKGRlZmluaXRpb24udHlwZSA9PT0gJ2Jvb2xlYW4nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBmbGFnX3ZhbHVlX211c3RfYmVfYm9vbGVhbjoke2RlZmluaXRpb24ua2V5fWApO1xuICB9XG4gIGlmKGRlZmluaXRpb24udHlwZSA9PT0gJ3ZhcmlhbnQnICYmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnIHx8ICFkZWZpbml0aW9uLnZhbHVlcz8uaW5jbHVkZXModmFsdWUpKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZmxhZ192YWx1ZV9ub3RfYWxsb3dlZDoke2RlZmluaXRpb24ua2V5fWApO1xuICB9XG59O1xuXG5jb25zdCBnZXREZWZpbml0aW9uTWFwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBNYXA8c3RyaW5nLCBGbGFnRGVmaW5pdGlvbj4gPT4ge1xuICBjb25zdCBkZWZpbml0aW9ucyA9IGdldERlZmluaXRpb25zKGNvbnRleHQpO1xuICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgRmxhZ0RlZmluaXRpb24+KCk7XG4gIGRlZmluaXRpb25zLmZvckVhY2goKGRlZmluaXRpb24pID0+IHtcbiAgICB2YWxpZGF0ZURlZmluaXRpb24oZGVmaW5pdGlvbik7XG4gICAgaWYobWFwLmhhcyhkZWZpbml0aW9uLmtleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZHVwbGljYXRlX2ZsYWdfa2V5OiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gICAgfVxuICAgIG1hcC5zZXQoZGVmaW5pdGlvbi5rZXksIGRlZmluaXRpb24pO1xuICB9KTtcbiAgcmV0dXJuIG1hcDtcbn07XG5cbmNvbnN0IGdldE92ZXJyaWRlcyA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxGbGFnT3ZlcnJpZGVbXT4gPT4ge1xuICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGRhdGFiYXNlLmNvbGxlY3Rpb24oQ09MTEVDVElPTik7XG4gIGlmKCFhd2FpdCBjb2xsZWN0aW9uLmV4aXN0cygpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGN1cnNvciA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5PEZsYWdPdmVycmlkZT4oe1xuICAgIGJpbmRWYXJzOiB7J0Bjb2xsZWN0aW9uJzogQ09MTEVDVElPTn0sXG4gICAgcXVlcnk6ICdGT1IgZmxhZyBJTiBAQGNvbGxlY3Rpb24gUkVUVVJOIGZsYWcnXG4gIH0pO1xuICByZXR1cm4gYXdhaXQgY3Vyc29yLmFsbCgpO1xufTtcblxuY29uc3QgdG9SZXNvbHZlZEZsYWcgPSAoZGVmaW5pdGlvbjogRmxhZ0RlZmluaXRpb24sIG92ZXJyaWRlPzogRmxhZ092ZXJyaWRlKTogUmVzb2x2ZWRGbGFnID0+IHtcbiAgY29uc3QgaGFzVmFsaWRPdmVycmlkZSA9IG92ZXJyaWRlID8gKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVWYWx1ZShkZWZpbml0aW9uLCBvdmVycmlkZS52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0pKCkgOiBmYWxzZTtcbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZpbml0aW9uLFxuICAgIHNvdXJjZTogaGFzVmFsaWRPdmVycmlkZSA/ICdkYXRhYmFzZScgOiAnZGVmYXVsdCcsXG4gICAgLi4uKGhhc1ZhbGlkT3ZlcnJpZGUgJiYgb3ZlcnJpZGU/LnVwZGF0ZWRBdCA/IHt1cGRhdGVkQXQ6IG92ZXJyaWRlLnVwZGF0ZWRBdH0gOiB7fSksXG4gICAgLi4uKGhhc1ZhbGlkT3ZlcnJpZGUgJiYgb3ZlcnJpZGU/LnVwZGF0ZWRCeSA/IHt1cGRhdGVkQnk6IG92ZXJyaWRlLnVwZGF0ZWRCeX0gOiB7fSksXG4gICAgdmFsdWU6IGhhc1ZhbGlkT3ZlcnJpZGUgJiYgb3ZlcnJpZGUgPyBvdmVycmlkZS52YWx1ZSA6IGRlZmluaXRpb24uZGVmYXVsdFZhbHVlXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUZsYWdzID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBQcm9taXNlPFJlc29sdmVkRmxhZ1tdPiA9PiB7XG4gIGNvbnN0IGRlZmluaXRpb25zID0gWy4uLmdldERlZmluaXRpb25NYXAoY29udGV4dCkudmFsdWVzKCldO1xuICBsZXQgb3ZlcnJpZGVzOiBGbGFnT3ZlcnJpZGVbXSA9IFtdO1xuICB0cnkge1xuICAgIG92ZXJyaWRlcyA9IGF3YWl0IGdldE92ZXJyaWRlcyhjb250ZXh0KTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gRmVhdHVyZSBldmFsdWF0aW9uIG11c3QgcmVtYWluIGF2YWlsYWJsZSBmcm9tIGNvZGUgZGVmYXVsdHMgd2hlbiBzdG9yYWdlIGlzIHVuYXZhaWxhYmxlLlxuICB9XG4gIGNvbnN0IG92ZXJyaWRlTWFwID0gbmV3IE1hcChvdmVycmlkZXMubWFwKChvdmVycmlkZSkgPT4gW292ZXJyaWRlLmtleSwgb3ZlcnJpZGVdKSk7XG4gIHJldHVybiBkZWZpbml0aW9uc1xuICAgIC5tYXAoKGRlZmluaXRpb24pID0+IHRvUmVzb2x2ZWRGbGFnKGRlZmluaXRpb24sIG92ZXJyaWRlTWFwLmdldChkZWZpbml0aW9uLmtleSkpKVxuICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gbGVmdC5rZXkubG9jYWxlQ29tcGFyZShyaWdodC5rZXkpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmFsdWF0ZUZsYWcgPSBhc3luYyA8VCBleHRlbmRzIEZsYWdWYWx1ZT4oXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGtleTogc3RyaW5nLFxuICBkZWZhdWx0VmFsdWU6IFRcbik6IFByb21pc2U8VD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGZsYWcgPSAoYXdhaXQgcmVzb2x2ZUZsYWdzKGNvbnRleHQpKS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0ga2V5KTtcbiAgICByZXR1cm4gZmxhZyAmJiB0eXBlb2YgZmxhZy52YWx1ZSA9PT0gdHlwZW9mIGRlZmF1bHRWYWx1ZSA/IGZsYWcudmFsdWUgYXMgVCA6IGRlZmF1bHRWYWx1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHNldEZsYWdPdmVycmlkZSA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAga2V5OiBzdHJpbmcsXG4gIHZhbHVlOiBGbGFnVmFsdWVcbik6IFByb21pc2U8UmVzb2x2ZWRGbGFnPiA9PiB7XG4gIGlmKCFpc0FkbWluVXNlcihjb250ZXh0LnNlc3Npb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhZG1pbmlzdHJhdG9yX2FjY2Vzc19yZXF1aXJlZCcpO1xuICB9XG4gIGNvbnN0IGRlZmluaXRpb24gPSBnZXREZWZpbml0aW9uTWFwKGNvbnRleHQpLmdldChrZXkpO1xuICBpZighZGVmaW5pdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93bl9mbGFnOiR7a2V5fWApO1xuICB9XG4gIHZhbGlkYXRlVmFsdWUoZGVmaW5pdGlvbiwgdmFsdWUpO1xuICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGRhdGFiYXNlLmNvbGxlY3Rpb24oQ09MTEVDVElPTik7XG4gIGlmKCFhd2FpdCBjb2xsZWN0aW9uLmV4aXN0cygpKSB7XG4gICAgYXdhaXQgY29sbGVjdGlvbi5jcmVhdGUoKTtcbiAgfVxuICBjb25zdCB1cGRhdGVkQXQgPSBEYXRlLm5vdygpO1xuICBjb25zdCBvdmVycmlkZTogRmxhZ092ZXJyaWRlID0ge1xuICAgIF9rZXk6IGNyZWF0ZUhhc2goYGZsYWctJHtwYXJzZVN0cmluZyhrZXksIDIwMCl9YCksXG4gICAga2V5LFxuICAgIHVwZGF0ZWRBdCxcbiAgICB1cGRhdGVkQnk6IGNvbnRleHQuc2Vzc2lvbj8udXNlcklkLFxuICAgIHZhbHVlXG4gIH07XG4gIGF3YWl0IGNvbGxlY3Rpb24uc2F2ZShvdmVycmlkZSwge292ZXJ3cml0ZU1vZGU6ICdyZXBsYWNlJ30pO1xuICByZXR1cm4gdG9SZXNvbHZlZEZsYWcoZGVmaW5pdGlvbiwgb3ZlcnJpZGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc2V0RmxhZ092ZXJyaWRlID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIGtleTogc3RyaW5nKTogUHJvbWlzZTxSZXNvbHZlZEZsYWc+ID0+IHtcbiAgaWYoIWlzQWRtaW5Vc2VyKGNvbnRleHQuc2Vzc2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FkbWluaXN0cmF0b3JfYWNjZXNzX3JlcXVpcmVkJyk7XG4gIH1cbiAgY29uc3QgZGVmaW5pdGlvbiA9IGdldERlZmluaXRpb25NYXAoY29udGV4dCkuZ2V0KGtleSk7XG4gIGlmKCFkZWZpbml0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duX2ZsYWc6JHtrZXl9YCk7XG4gIH1cbiAgY29uc3QgY29sbGVjdGlvbiA9IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKS5jb2xsZWN0aW9uKENPTExFQ1RJT04pO1xuICBpZihhd2FpdCBjb2xsZWN0aW9uLmV4aXN0cygpKSB7XG4gICAgY29uc3QgZG9jdW1lbnRLZXkgPSBjcmVhdGVIYXNoKGBmbGFnLSR7cGFyc2VTdHJpbmcoa2V5LCAyMDApfWApO1xuICAgIGlmKGF3YWl0IGNvbGxlY3Rpb24uZG9jdW1lbnRFeGlzdHMoZG9jdW1lbnRLZXkpKSB7XG4gICAgICBhd2FpdCBjb2xsZWN0aW9uLnJlbW92ZShkb2N1bWVudEtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b1Jlc29sdmVkRmxhZyhkZWZpbml0aW9uKTtcbn07XG4iXSwibmFtZXMiOlsiY3JlYXRlSGFzaCIsInBhcnNlU3RyaW5nIiwiaXNBZG1pblVzZXIiLCJ1c2VEYiIsIkNPTExFQ1RJT04iLCJGTEFHX0tFWV9QQVRURVJOIiwiZ2V0RGVmaW5pdGlvbnMiLCJjb250ZXh0IiwiZmxhZ0RlZmluaXRpb25zIiwidmFsaWRhdGVEZWZpbml0aW9uIiwiZGVmaW5pdGlvbiIsInRlc3QiLCJrZXkiLCJFcnJvciIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJ2YWx1ZXMiLCJsZW5ndGgiLCJpbmNsdWRlcyIsInZhbGlkYXRlVmFsdWUiLCJ2YWx1ZSIsImdldERlZmluaXRpb25NYXAiLCJkZWZpbml0aW9ucyIsIm1hcCIsIk1hcCIsImZvckVhY2giLCJoYXMiLCJzZXQiLCJnZXRPdmVycmlkZXMiLCJkYXRhYmFzZSIsImRhdGFiYXNlTmFtZSIsImNvbGxlY3Rpb24iLCJleGlzdHMiLCJjdXJzb3IiLCJxdWVyeSIsImJpbmRWYXJzIiwiYWxsIiwidG9SZXNvbHZlZEZsYWciLCJvdmVycmlkZSIsImhhc1ZhbGlkT3ZlcnJpZGUiLCJzb3VyY2UiLCJ1cGRhdGVkQXQiLCJ1cGRhdGVkQnkiLCJyZXNvbHZlRmxhZ3MiLCJvdmVycmlkZXMiLCJvdmVycmlkZU1hcCIsImdldCIsInNvcnQiLCJsZWZ0IiwicmlnaHQiLCJsb2NhbGVDb21wYXJlIiwiZXZhbHVhdGVGbGFnIiwiZmxhZyIsImZpbmQiLCJpdGVtIiwic2V0RmxhZ092ZXJyaWRlIiwic2Vzc2lvbiIsImNyZWF0ZSIsIkRhdGUiLCJub3ciLCJfa2V5IiwidXNlcklkIiwic2F2ZSIsIm92ZXJ3cml0ZU1vZGUiLCJyZXNldEZsYWdPdmVycmlkZSIsImRvY3VtZW50S2V5IiwiZG9jdW1lbnRFeGlzdHMiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFVBQVUsRUFBRUMsV0FBVyxRQUFPLCtCQUErQjtBQUVyRSxTQUFRQyxXQUFXLFFBQU8sMkJBQTJCO0FBQ3JELFNBQVFDLEtBQUssUUFBTyw0QkFBNEI7QUFLaEQsTUFBTUMsYUFBYTtBQUNuQixNQUFNQyxtQkFBbUI7QUFFekIsTUFBTUMsaUJBQWlCLENBQUNDLFVBQW1EQSxRQUFRQyxlQUFlLElBQUksRUFBRTtBQUV4RyxNQUFNQyxxQkFBcUIsQ0FBQ0M7SUFDMUIsSUFBRyxDQUFDTCxpQkFBaUJNLElBQUksQ0FBQ0QsV0FBV0UsR0FBRyxHQUFHO1FBQ3pDLE1BQU0sSUFBSUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFSCxXQUFXRSxHQUFHLEVBQUU7SUFDdEQ7SUFDQSxJQUFHRixXQUFXSSxJQUFJLEtBQUssYUFBYSxPQUFPSixXQUFXSyxZQUFZLEtBQUssV0FBVztRQUNoRixNQUFNLElBQUlGLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRUgsV0FBV0UsR0FBRyxFQUFFO0lBQ2xFO0lBQ0EsSUFBR0YsV0FBV0ksSUFBSSxLQUFLLFdBQVc7UUFDaEMsSUFBRyxPQUFPSixXQUFXSyxZQUFZLEtBQUssWUFBWSxDQUFDTCxXQUFXTSxNQUFNLEVBQUVDLFFBQVE7WUFDNUUs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
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9wcml2YXRlL3RtcC92YXVsdC1yZWFrdG9yLWNvbXBsZXRpb24vcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9mbGFncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcblxuaW1wb3J0IHtpc0FkbWluVXNlcn0gZnJvbSAnLi4vdXRpbHMvc2Vzc2lvblV0aWxzLmpzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7RmxhZ0RlZmluaXRpb24sIEZsYWdPdmVycmlkZSwgRmxhZ1ZhbHVlLCBSZXNvbHZlZEZsYWd9IGZyb20gJy4uL3R5cGVzL2ZsYWdzLnR5cGVzLmpzJztcblxuY29uc3QgQ09MTEVDVElPTiA9ICdmbGFncyc7XG5jb25zdCBGTEFHX0tFWV9QQVRURVJOID0gL15bQS1aYS16MC05XVtBLVphLXowLTkuXzotXXswLDE5OX0kLztcblxuY29uc3QgZ2V0RGVmaW5pdGlvbnMgPSAoY29udGV4dDogQXBpQ29udGV4dCk6IHJlYWRvbmx5IEZsYWdEZWZpbml0aW9uW10gPT4gY29udGV4dC5mbGFnRGVmaW5pdGlvbnMgfHwgW107XG5cbmNvbnN0IHZhbGlkYXRlRGVmaW5pdGlvbiA9IChkZWZpbml0aW9uOiBGbGFnRGVmaW5pdGlvbik6IHZvaWQgPT4ge1xuICBpZighRkxBR19LRVlfUEFUVEVSTi50ZXN0KGRlZmluaXRpb24ua2V5KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZF9mbGFnX2tleToke2RlZmluaXRpb24ua2V5fWApO1xuICB9XG4gIGlmKGRlZmluaXRpb24udHlwZSA9PT0gJ2Jvb2xlYW4nICYmIHR5cGVvZiBkZWZpbml0aW9uLmRlZmF1bHRWYWx1ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkX2Jvb2xlYW5fZmxhZ19kZWZhdWx0OiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gIH1cbiAgaWYoZGVmaW5pdGlvbi50eXBlID09PSAndmFyaWFudCcpIHtcbiAgICBpZih0eXBlb2YgZGVmaW5pdGlvbi5kZWZhdWx0VmFsdWUgIT09ICdzdHJpbmcnIHx8ICFkZWZpbml0aW9uLnZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWRfdmFyaWFudF9mbGFnOiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gICAgfVxuICAgIGlmKCFkZWZpbml0aW9uLnZhbHVlcy5pbmNsdWRlcyhkZWZpbml0aW9uLmRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdmFyaWFudF9kZWZhdWx0X25vdF9hbGxvd2VkOiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCB2YWxpZGF0ZVZhbHVlID0gKGRlZmluaXRpb246IEZsYWdEZWZpbml0aW9uLCB2YWx1ZTogRmxhZ1ZhbHVlKTogdm9pZCA9PiB7XG4gIGlmKGRlZmluaXRpb24udHlwZSA9PT0gJ2Jvb2xlYW4nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBmbGFnX3ZhbHVlX211c3RfYmVfYm9vbGVhbjoke2RlZmluaXRpb24ua2V5fWApO1xuICB9XG4gIGlmKGRlZmluaXRpb24udHlwZSA9PT0gJ3ZhcmlhbnQnICYmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnIHx8ICFkZWZpbml0aW9uLnZhbHVlcz8uaW5jbHVkZXModmFsdWUpKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZmxhZ192YWx1ZV9ub3RfYWxsb3dlZDoke2RlZmluaXRpb24ua2V5fWApO1xuICB9XG59O1xuXG5jb25zdCBnZXREZWZpbml0aW9uTWFwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBNYXA8c3RyaW5nLCBGbGFnRGVmaW5pdGlvbj4gPT4ge1xuICBjb25zdCBkZWZpbml0aW9ucyA9IGdldERlZmluaXRpb25zKGNvbnRleHQpO1xuICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgRmxhZ0RlZmluaXRpb24+KCk7XG4gIGRlZmluaXRpb25zLmZvckVhY2goKGRlZmluaXRpb24pID0+IHtcbiAgICB2YWxpZGF0ZURlZmluaXRpb24oZGVmaW5pdGlvbik7XG4gICAgaWYobWFwLmhhcyhkZWZpbml0aW9uLmtleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZHVwbGljYXRlX2ZsYWdfa2V5OiR7ZGVmaW5pdGlvbi5rZXl9YCk7XG4gICAgfVxuICAgIG1hcC5zZXQoZGVmaW5pdGlvbi5rZXksIGRlZmluaXRpb24pO1xuICB9KTtcbiAgcmV0dXJuIG1hcDtcbn07XG5cbmNvbnN0IGdldE92ZXJyaWRlcyA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxGbGFnT3ZlcnJpZGVbXT4gPT4ge1xuICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGRhdGFiYXNlLmNvbGxlY3Rpb24oQ09MTEVDVElPTik7XG4gIGlmKCFhd2FpdCBjb2xsZWN0aW9uLmV4aXN0cygpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGN1cnNvciA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5PEZsYWdPdmVycmlkZT4oe1xuICAgIGJpbmRWYXJzOiB7J0Bjb2xsZWN0aW9uJzogQ09MTEVDVElPTn0sXG4gICAgcXVlcnk6ICdGT1IgZmxhZyBJTiBAQGNvbGxlY3Rpb24gUkVUVVJOIGZsYWcnXG4gIH0pO1xuICByZXR1cm4gYXdhaXQgY3Vyc29yLmFsbCgpO1xufTtcblxuY29uc3QgdG9SZXNvbHZlZEZsYWcgPSAoZGVmaW5pdGlvbjogRmxhZ0RlZmluaXRpb24sIG92ZXJyaWRlPzogRmxhZ092ZXJyaWRlKTogUmVzb2x2ZWRGbGFnID0+IHtcbiAgY29uc3QgaGFzVmFsaWRPdmVycmlkZSA9IG92ZXJyaWRlID8gKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVWYWx1ZShkZWZpbml0aW9uLCBvdmVycmlkZS52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0pKCkgOiBmYWxzZTtcbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZpbml0aW9uLFxuICAgIHNvdXJjZTogaGFzVmFsaWRPdmVycmlkZSA/ICdkYXRhYmFzZScgOiAnZGVmYXVsdCcsXG4gICAgLi4uKGhhc1ZhbGlkT3ZlcnJpZGUgJiYgb3ZlcnJpZGU/LnVwZGF0ZWRBdCA/IHt1cGRhdGVkQXQ6IG92ZXJyaWRlLnVwZGF0ZWRBdH0gOiB7fSksXG4gICAgLi4uKGhhc1ZhbGlkT3ZlcnJpZGUgJiYgb3ZlcnJpZGU/LnVwZGF0ZWRCeSA/IHt1cGRhdGVkQnk6IG92ZXJyaWRlLnVwZGF0ZWRCeX0gOiB7fSksXG4gICAgdmFsdWU6IGhhc1ZhbGlkT3ZlcnJpZGUgJiYgb3ZlcnJpZGUgPyBvdmVycmlkZS52YWx1ZSA6IGRlZmluaXRpb24uZGVmYXVsdFZhbHVlXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUZsYWdzID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBQcm9taXNlPFJlc29sdmVkRmxhZ1tdPiA9PiB7XG4gIGNvbnN0IGRlZmluaXRpb25zID0gWy4uLmdldERlZmluaXRpb25NYXAoY29udGV4dCkudmFsdWVzKCldO1xuICBsZXQgb3ZlcnJpZGVzOiBGbGFnT3ZlcnJpZGVbXSA9IFtdO1xuICB0cnkge1xuICAgIG92ZXJyaWRlcyA9IGF3YWl0IGdldE92ZXJyaWRlcyhjb250ZXh0KTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gRmVhdHVyZSBldmFsdWF0aW9uIG11c3QgcmVtYWluIGF2YWlsYWJsZSBmcm9tIGNvZGUgZGVmYXVsdHMgd2hlbiBzdG9yYWdlIGlzIHVuYXZhaWxhYmxlLlxuICB9XG4gIGNvbnN0IG92ZXJyaWRlTWFwID0gbmV3IE1hcChvdmVycmlkZXMubWFwKChvdmVycmlkZSkgPT4gW292ZXJyaWRlLmtleSwgb3ZlcnJpZGVdKSk7XG4gIHJldHVybiBkZWZpbml0aW9uc1xuICAgIC5tYXAoKGRlZmluaXRpb24pID0+IHRvUmVzb2x2ZWRGbGFnKGRlZmluaXRpb24sIG92ZXJyaWRlTWFwLmdldChkZWZpbml0aW9uLmtleSkpKVxuICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gbGVmdC5rZXkubG9jYWxlQ29tcGFyZShyaWdodC5rZXkpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmFsdWF0ZUZsYWcgPSBhc3luYyA8VCBleHRlbmRzIEZsYWdWYWx1ZT4oXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGtleTogc3RyaW5nLFxuICBkZWZhdWx0VmFsdWU6IFRcbik6IFByb21pc2U8VD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGZsYWcgPSAoYXdhaXQgcmVzb2x2ZUZsYWdzKGNvbnRleHQpKS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0ga2V5KTtcbiAgICByZXR1cm4gZmxhZyAmJiB0eXBlb2YgZmxhZy52YWx1ZSA9PT0gdHlwZW9mIGRlZmF1bHRWYWx1ZSA/IGZsYWcudmFsdWUgYXMgVCA6IGRlZmF1bHRWYWx1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHNldEZsYWdPdmVycmlkZSA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAga2V5OiBzdHJpbmcsXG4gIHZhbHVlOiBGbGFnVmFsdWVcbik6IFByb21pc2U8UmVzb2x2ZWRGbGFnPiA9PiB7XG4gIGlmKCFpc0FkbWluVXNlcihjb250ZXh0LnNlc3Npb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhZG1pbmlzdHJhdG9yX2FjY2Vzc19yZXF1aXJlZCcpO1xuICB9XG4gIGNvbnN0IGRlZmluaXRpb24gPSBnZXREZWZpbml0aW9uTWFwKGNvbnRleHQpLmdldChrZXkpO1xuICBpZighZGVmaW5pdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93bl9mbGFnOiR7a2V5fWApO1xuICB9XG4gIHZhbGlkYXRlVmFsdWUoZGVmaW5pdGlvbiwgdmFsdWUpO1xuICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGRhdGFiYXNlLmNvbGxlY3Rpb24oQ09MTEVDVElPTik7XG4gIGlmKCFhd2FpdCBjb2xsZWN0aW9uLmV4aXN0cygpKSB7XG4gICAgYXdhaXQgY29sbGVjdGlvbi5jcmVhdGUoKTtcbiAgfVxuICBjb25zdCB1cGRhdGVkQXQgPSBEYXRlLm5vdygpO1xuICBjb25zdCBvdmVycmlkZTogRmxhZ092ZXJyaWRlID0ge1xuICAgIF9rZXk6IGNyZWF0ZUhhc2goYGZsYWctJHtwYXJzZVN0cmluZyhrZXksIDIwMCl9YCksXG4gICAga2V5LFxuICAgIHVwZGF0ZWRBdCxcbiAgICB1cGRhdGVkQnk6IGNvbnRleHQuc2Vzc2lvbj8udXNlcklkLFxuICAgIHZhbHVlXG4gIH07XG4gIGF3YWl0IGNvbGxlY3Rpb24uc2F2ZShvdmVycmlkZSwge292ZXJ3cml0ZU1vZGU6ICdyZXBsYWNlJ30pO1xuICByZXR1cm4gdG9SZXNvbHZlZEZsYWcoZGVmaW5pdGlvbiwgb3ZlcnJpZGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc2V0RmxhZ092ZXJyaWRlID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIGtleTogc3RyaW5nKTogUHJvbWlzZTxSZXNvbHZlZEZsYWc+ID0+IHtcbiAgaWYoIWlzQWRtaW5Vc2VyKGNvbnRleHQuc2Vzc2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FkbWluaXN0cmF0b3JfYWNjZXNzX3JlcXVpcmVkJyk7XG4gIH1cbiAgY29uc3QgZGVmaW5pdGlvbiA9IGdldERlZmluaXRpb25NYXAoY29udGV4dCkuZ2V0KGtleSk7XG4gIGlmKCFkZWZpbml0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duX2ZsYWc6JHtrZXl9YCk7XG4gIH1cbiAgY29uc3QgY29sbGVjdGlvbiA9IHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKS5jb2xsZWN0aW9uKENPTExFQ1RJT04pO1xuICBpZihhd2FpdCBjb2xsZWN0aW9uLmV4aXN0cygpKSB7XG4gICAgY29uc3QgZG9jdW1lbnRLZXkgPSBjcmVhdGVIYXNoKGBmbGFnLSR7cGFyc2VTdHJpbmcoa2V5LCAyMDApfWApO1xuICAgIGlmKGF3YWl0IGNvbGxlY3Rpb24uZG9jdW1lbnRFeGlzdHMoZG9jdW1lbnRLZXkpKSB7XG4gICAgICBhd2FpdCBjb2xsZWN0aW9uLnJlbW92ZShkb2N1bWVudEtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b1Jlc29sdmVkRmxhZyhkZWZpbml0aW9uKTtcbn07XG4iXSwibmFtZXMiOlsiY3JlYXRlSGFzaCIsInBhcnNlU3RyaW5nIiwiaXNBZG1pblVzZXIiLCJ1c2VEYiIsIkNPTExFQ1RJT04iLCJGTEFHX0tFWV9QQVRURVJOIiwiZ2V0RGVmaW5pdGlvbnMiLCJjb250ZXh0IiwiZmxhZ0RlZmluaXRpb25zIiwidmFsaWRhdGVEZWZpbml0aW9uIiwiZGVmaW5pdGlvbiIsInRlc3QiLCJrZXkiLCJFcnJvciIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJ2YWx1ZXMiLCJsZW5ndGgiLCJpbmNsdWRlcyIsInZhbGlkYXRlVmFsdWUiLCJ2YWx1ZSIsImdldERlZmluaXRpb25NYXAiLCJkZWZpbml0aW9ucyIsIm1hcCIsIk1hcCIsImZvckVhY2giLCJoYXMiLCJzZXQiLCJnZXRPdmVycmlkZXMiLCJkYXRhYmFzZSIsImRhdGFiYXNlTmFtZSIsImNvbGxlY3Rpb24iLCJleGlzdHMiLCJjdXJzb3IiLCJxdWVyeSIsImJpbmRWYXJzIiwiYWxsIiwidG9SZXNvbHZlZEZsYWciLCJvdmVycmlkZSIsImhhc1ZhbGlkT3ZlcnJpZGUiLCJzb3VyY2UiLCJ1cGRhdGVkQXQiLCJ1cGRhdGVkQnkiLCJyZXNvbHZlRmxhZ3MiLCJvdmVycmlkZXMiLCJvdmVycmlkZU1hcCIsImdldCIsInNvcnQiLCJsZWZ0IiwicmlnaHQiLCJsb2NhbGVDb21wYXJlIiwiZXZhbHVhdGVGbGFnIiwiZmxhZyIsImZpbmQiLCJpdGVtIiwic2V0RmxhZ092ZXJyaWRlIiwic2Vzc2lvbiIsImNyZWF0ZSIsIkRhdGUiLCJub3ciLCJfa2V5IiwidXNlcklkIiwic2F2ZSIsIm92ZXJ3cml0ZU1vZGUiLCJyZXNldEZsYWdPdmVycmlkZSIsImRvY3VtZW50S2V5IiwiZG9jdW1lbnRFeGlzdHMiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFVBQVUsRUFBRUMsV0FBVyxRQUFPLCtCQUErQjtBQUVyRSxTQUFRQyxXQUFXLFFBQU8sMkJBQTJCO0FBQ3JELFNBQVFDLEtBQUssUUFBTyw0QkFBNEI7QUFLaEQsTUFBTUMsYUFBYTtBQUNuQixNQUFNQyxtQkFBbUI7QUFFekIsTUFBTUMsaUJBQWlCLENBQUNDLFVBQW1EQSxRQUFRQyxlQUFlLElBQUksRUFBRTtBQUV4RyxNQUFNQyxxQkFBcUIsQ0FBQ0M7SUFDMUIsSUFBRyxDQUFDTCxpQkFBaUJNLElBQUksQ0FBQ0QsV0FBV0UsR0FBRyxHQUFHO1FBQ3pDLE1BQU0sSUFBSUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFSCxXQUFXRSxHQUFHLEVBQUU7SUFDdEQ7SUFDQSxJQUFHRixXQUFXSSxJQUFJLEtBQUssYUFBYSxPQUFPSixXQUFXSyxZQUFZLEtBQUssV0FBVztRQUNoRixNQUFNLElBQUlGLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRUgsV0FBV0UsR0FBRyxFQUFFO0lBQ2xFO0lBQ0EsSUFBR0YsV0FBV0ksSUFBSSxLQUFLLFdBQVc7UUFDaEMsSUFBRyxPQUFPSixXQUFXSyxZQUFZLEtBQUssWUFBWSxDQUFDTCxXQUFXTSxNQUFNLEVBQUVDLFFBQVE7WUFD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
|
|
@@ -158,4 +158,4 @@ const validateDownloadUrl = (value, redirected)=>{
|
|
|
158
158
|
return download(mediaUrl, 0);
|
|
159
159
|
};
|
|
160
160
|
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9nZW1pbmlWaWRlby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldCwgcG9zdH0gZnJvbSAnQG5sYWJzL3JpcC1odW50ZXInO1xuaW1wb3J0IHtnZXQgYXMgaHR0cHNHZXR9IGZyb20gJ25vZGU6aHR0cHMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlR2VtaW5pVmlkZW9JbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvZ2VtaW5pR2VuZXJhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5cbmltcG9ydCB0eXBlIHtHZW1pbmlWaWRlb0lucHV0fSBmcm9tICcuLi9hZGFwdGVycy9nZW1pbmlHZW5lcmF0aW9uQWRhcHRlci5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7VmlkZW9HZW5lcmF0aW9uUmVzdWx0fSBmcm9tICcuL3ZpZGVvR2VuZXJhdGlvbi5qcyc7XG5cbmV4cG9ydCBjbGFzcyBHZW1pbmlHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvciBleHRlbmRzIEVycm9yIHt9XG5leHBvcnQgaW50ZXJmYWNlIEdlbWluaVZpZGVvQ29uZmlnIHtrZXk/OiBzdHJpbmc7IG1vZGVsPzogc3RyaW5nfVxuZXhwb3J0IGludGVyZmFjZSBHZW1pbmlWaWRlb1N0YXR1cyB7ZXJyb3I/OiBzdHJpbmc7IG1lZGlhVXJsPzogc3RyaW5nOyBzdGF0dXM6ICdmYWlsZWQnIHwgJ3Byb2Nlc3NpbmcnIHwgJ3N1Y2NlZWRlZCd9XG5jb25zdCBvcmlnaW4gPSAnaHR0cHM6Ly9nZW5lcmF0aXZlbGFuZ3VhZ2UuZ29vZ2xlYXBpcy5jb20nO1xuY29uc3Qgb3BlcmF0aW9uUGF0dGVybiA9IC9eKD86bW9kZWxzXFwvW2EtekEtWjAtOS5fLV0rXFwvKT9vcGVyYXRpb25zXFwvW2EtekEtWjAtOV8tXSskLztcbmNvbnN0IGdldEtleSA9IChjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGtleSA9IGNvbmZpZz8ua2V5IHx8IENvbmZpZy5nZXQ8c3RyaW5nPignY29udGVudEdlbmVyYXRpb24uZ2VtaW5pS2V5Jyk7XG4gIGlmKCFrZXkpIHtcbiAgICB0aHJvdyBuZXcgR2VtaW5pR2VuZXJhdGlvblJlamVjdGVkRXJyb3IoJ0dlbWluaSB2aWRlbyBnZW5lcmF0aW9uIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICB9XG4gIHJldHVybiBrZXk7XG59O1xuY29uc3Qgb3BlcmF0aW9uVXJsID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmKCFvcGVyYXRpb25QYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgR2VtaW5pIG9wZXJhdGlvbiBpZGVudGlmaWVyLicpO1xuICB9XG4gIHJldHVybiBgJHtvcmlnaW59L3YxYmV0YS8ke25hbWV9YDtcbn07XG5cbi8qKiBTdWJtaXQgb25jZTsgYW4gdW5jb25maXJtZWQgcmVzcG9uc2UgbXVzdCBiZSByZWNvbmNpbGVkIHJhdGhlciB0aGFuIHJldHJpZWQuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVHZW1pbmlWaWRlbyA9IGFzeW5jIChcbiAgX2NvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW1pbmlWaWRlb0lucHV0LCBjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZ1xuKTogUHJvbWlzZTxWaWRlb0dlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVHZW1pbmlWaWRlb0lucHV0KGlucHV0KTtcbiAgY29uc3Qga2V5ID0gZ2V0S2V5KGNvbmZpZyk7XG4gIGNvbnN0IG1vZGVsID0gdmFsaWRhdGVkLm1vZGVsIHx8IGNvbmZpZz8ubW9kZWwgfHwgJ3Zlby0zLjEtZ2VuZXJhdGUtcHJldmlldyc7XG4gIGlmKCEvXlthLXpBLVowLTkuXy1dKyQvLnRlc3QobW9kZWwpKSB7XG4gICAgdGhyb3cgbmV3IEdlbWluaUdlbmVyYXRpb25SZWplY3RlZEVycm9yKCdJbnZhbGlkIEdlbWluaSB2aWRlbyBtb2RlbC4nKTtcbiAgfVxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb3N0KGAke29yaWdpbn0vdjFiZXRhL21vZGVscy8ke21vZGVsfTpwcmVkaWN0TG9uZ1J1bm5pbmdgLCB7XG4gICAgaW5zdGFuY2VzOiBbe3Byb21wdDogdmFsaWRhdGVkLnByb21wdH1dLFxuICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgIC4uLih2YWxpZGF0ZWQuYXNwZWN0UmF0aW8gPyB7YXNwZWN0UmF0aW86IHZhbGlkYXRlZC5hc3BlY3RSYXRpb30gOiB7fSksXG4gICAgICBkdXJhdGlvblNlY29uZHM6IHZhbGlkYXRlZC5kdXJhdGlvbixcbiAgICAgIHJlc29sdXRpb246IHZhbGlkYXRlZC5yZXNvbHV0aW9uLFxuICAgICAgc2FtcGxlQ291bnQ6IDFcbiAgICB9XG4gIH0sIHtjYWNoZTogZmFsc2UsIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHsneC1nb29nLWFwaS1rZXknOiBrZXl9KSwgdGltZW91dDogMTIwXzAwMH0pIGFzIHtlcnJvcj86IHtjb2RlPzogbnVtYmVyfTsgbmFtZT86IHN0cmluZ307XG4gIGlmKHJlc3VsdC5lcnJvciAmJiBbNDAwLCA0MDEsIDQwMywgNDA0XS5pbmNsdWRlcyhyZXN1bHQuZXJyb3IuY29kZSB8fCAwKSkge1xuICAgIHRocm93IG5ldyBHZW1pbmlHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcignR2VtaW5pIHJlamVjdGVkIHRoZSB2aWRlbyByZXF1ZXN0LiBDaGVjayBtb2RlbCBhY2Nlc3MgYW5kIHNldHRpbmdzLicpO1xuICB9XG4gIGlmKHJlc3VsdC5lcnJvciB8fCAhcmVzdWx0Lm5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dlbWluaSB2aWRlbyBzdWJtaXNzaW9uIGNvdWxkIG5vdCBiZSBjb25maXJtZWQuJyk7XG4gIH1cbiAgcmV0dXJuIHtwcm92aWRlcjogJ2dlbWluaScsIHJlcXVlc3RJZDogcmVzdWx0Lm5hbWUsIHN0YXR1czogJ3F1ZXVlZCcsIHN0YXR1c1VybDogb3BlcmF0aW9uVXJsKHJlc3VsdC5uYW1lKX07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R2VtaW5pVmlkZW9TdGF0dXMgPSBhc3luYyAoXG4gIHJlcXVlc3RJZDogc3RyaW5nLCBjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZ1xuKTogUHJvbWlzZTxHZW1pbmlWaWRlb1N0YXR1cz4gPT4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXQob3BlcmF0aW9uVXJsKHJlcXVlc3RJZCksIHVuZGVmaW5lZCwge1xuICAgIGNhY2hlOiBmYWxzZSwgaGVhZGVyczogbmV3IEhlYWRlcnMoeyd4LWdvb2ctYXBpLWtleSc6IGdldEtleShjb25maWcpfSksIHRpbWVvdXQ6IDMwXzAwMFxuICB9KSBhcyB7XG4gICAgZG9uZT86IGJvb2xlYW47XG4gICAgZXJyb3I/OiB7Y29kZT86IG51bWJlcn07XG4gICAgcmVzcG9uc2U/OiB7Z2VuZXJhdGVWaWRlb1Jlc3BvbnNlPzoge1xuICAgICAgZ2VuZXJhdGVkU2FtcGxlcz86IHt2aWRlbz86IHt1cmk/OiBzdHJpbmd9fVtdOyByYWlNZWRpYUZpbHRlcmVkQ291bnQ/OiBudW1iZXI7XG4gICAgfTt9O1xuICB9O1xuICBpZihyZXN1bHQuZG9uZSAhPT0gdHJ1ZSkge1xuICAgIGlmKHJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHZW1pbmkgdmlkZW8gc3RhdHVzIGNvdWxkIG5vdCBiZSBjb25maXJtZWQuJyk7XG4gICAgfVxuICAgIHJldHVybiB7c3RhdHVzOiAncHJvY2Vzc2luZyd9O1xuICB9XG4gIGlmKHJlc3VsdC5lcnJvciB8fCByZXN1bHQucmVzcG9uc2U/LmdlbmVyYXRlVmlkZW9SZXNwb25zZT8ucmFpTWVkaWFGaWx0ZXJlZENvdW50KSB7XG4gICAgcmV0dXJuIHtlcnJvcjogJ0dlbWluaSB2aWRlbyBnZW5lcmF0aW9uIGZhaWxlZCBvciB3YXMgZmlsdGVyZWQuJywgc3RhdHVzOiAnZmFpbGVkJ307XG4gIH1cbiAgY29uc3QgbWVkaWFVcmwgPSByZXN1bHQucmVzcG9uc2U/LmdlbmVyYXRlVmlkZW9SZXNwb25zZT8uZ2VuZXJhdGVkU2FtcGxlcz8uWzBdPy52aWRlbz8udXJpO1xuICBpZighbWVkaWFVcmwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dlbWluaSBjb21wbGV0ZWQgd2l0aG91dCB2ZXJpZmlhYmxlIHZpZGVvIG91dHB1dC4nKTtcbiAgfVxuICB2YWxpZGF0ZURvd25sb2FkVXJsKG1lZGlhVXJsLCBmYWxzZSk7XG4gIHJldHVybiB7bWVkaWFVcmwsIHN0YXR1czogJ3N1Y2NlZWRlZCd9O1xufTtcblxuY29uc3QgdmFsaWRhdGVEb3dubG9hZFVybCA9ICh2YWx1ZTogc3RyaW5nLCByZWRpcmVjdGVkOiBib29sZWFuKTogVVJMID0+IHtcbiAgY29uc3QgdXJsID0gbmV3IFVSTCh2YWx1ZSk7XG4gIGNvbnN0IGFsbG93ZWQgPSB1cmwub3JpZ2luID09PSBvcmlnaW4gJiYgL15cXC8oPzpkb3dubG9hZFxcLyk/djFiZXRhXFwvZmlsZXNcXC9bYS16QS1aMC05Xy1dKyg/Ojpkb3dubG9hZCk/JC8udGVzdCh1cmwucGF0aG5hbWUpO1xuICBjb25zdCBzdG9yYWdlID0gcmVkaXJlY3RlZCAmJiAodXJsLmhvc3RuYW1lID09PSAnc3RvcmFnZS5nb29nbGVhcGlzLmNvbScgfHwgdXJsLmhvc3RuYW1lLmVuZHNXaXRoKCcuZ29vZ2xldXNlcmNvbnRlbnQuY29tJykpO1xuICBpZih1cmwucHJvdG9jb2wgIT09ICdodHRwczonIHx8IHVybC5wb3J0IHx8IHVybC51c2VybmFtZSB8fCB1cmwucGFzc3dvcmQgfHwgdXJsLmhhc2ggfHwgdXJsLnNlYXJjaFBhcmFtcy5oYXMoJ2tleScpIHx8ICEoYWxsb3dlZCB8fCBzdG9yYWdlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBHZW1pbmkgdmlkZW8gZG93bmxvYWQgVVJMLicpO1xuICB9XG4gIHJldHVybiB1cmw7XG59O1xuXG4vKiogQmluYXJ5IGRvd25sb2FkcyB1c2UgSFRUUFMgc3RyZWFtcyBiZWNhdXNlIFJpcC1IdW50ZXIgY3VycmVudGx5IGRlY29kZXMgbm9uLUpTT04gYm9kaWVzIGFzIHRleHQuICovXG5leHBvcnQgY29uc3QgZG93bmxvYWRHZW1pbmlWaWRlbyA9IGFzeW5jIChtZWRpYVVybDogc3RyaW5nLCBjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZyk6IFByb21pc2U8QnVmZmVyPiA9PiB7XG4gIGNvbnN0IGtleSA9IGdldEtleShjb25maWcpO1xuICBjb25zdCBkb3dubG9hZCA9ICh2YWx1ZTogc3RyaW5nLCByZWRpcmVjdHM6IG51bWJlcik6IFByb21pc2U8QnVmZmVyPiA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgdXJsID0gdmFsaWRhdGVEb3dubG9hZFVybCh2YWx1ZSwgcmVkaXJlY3RzID4gMCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGh0dHBzR2V0KHVybCwge1xuICAgICAgaGVhZGVyczogdXJsLm9yaWdpbiA9PT0gb3JpZ2luID8geyd4LWdvb2ctYXBpLWtleSc6IGtleX0gOiB7fSwgdGltZW91dDogNjBfMDAwXG4gICAgfSwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICBpZihbMzAxLCAzMDIsIDMwMywgMzA3LCAzMDhdLmluY2x1ZGVzKHJlc3BvbnNlLnN0YXR1c0NvZGUgfHwgMCkgJiYgcmVzcG9uc2UuaGVhZGVycy5sb2NhdGlvbiAmJiByZWRpcmVjdHMgPCAzKSB7XG4gICAgICAgIHJlc3BvbnNlLnJlc3VtZSgpO1xuICAgICAgICBkb3dubG9hZChuZXcgVVJMKHJlc3BvbnNlLmhlYWRlcnMubG9jYXRpb24sIHVybCkuaHJlZiwgcmVkaXJlY3RzICsgMSkudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZihyZXNwb25zZS5zdGF0dXNDb2RlICE9PSAyMDApIHtcbiAgICAgICAgcmVzcG9uc2UucmVzdW1lKCk7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0dlbWluaSB2aWRlbyBkb3dubG9hZCBmYWlsZWQuJykpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjaHVua3M6IEJ1ZmZlcltdID0gW107XG4gICAgICBsZXQgbGVuZ3RoID0gMDtcbiAgICAgIHJlc3BvbnNlLm9uKCdkYXRhJywgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICAgICAgbGVuZ3RoICs9IGNodW5rLmxlbmd0aDtcbiAgICAgICAgaWYobGVuZ3RoID4gMTI4ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICByZXNwb25zZS5kZXN0cm95KG5ldyBFcnJvcignR2VtaW5pIHZpZGVvIGV4Y2VlZHMgdGhlIGRvd25sb2FkIGxpbWl0LicpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjaHVua3MucHVzaChjaHVuayk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgIHJlc3BvbnNlLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ5dGVzID0gQnVmZmVyLmNvbmNhdChjaHVua3MpO1xuICAgICAgICBpZihieXRlcy5zdWJhcnJheSg0LCA4KS50b1N0cmluZygnYXNjaWknKSAhPT0gJ2Z0eXAnKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignR2VtaW5pIGRpZCBub3QgcmV0dXJuIE1QNCB2aWRlbyBieXRlcy4nKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlc29sdmUoYnl0ZXMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgIHJlcXVlc3Qub24oJ3RpbWVvdXQnLCAoKSA9PiByZXF1ZXN0LmRlc3Ryb3kobmV3IEVycm9yKCdHZW1pbmkgdmlkZW8gZG93bmxvYWQgdGltZWQgb3V0LicpKSk7XG4gIH0pO1xuICByZXR1cm4gZG93bmxvYWQobWVkaWFVcmwsIDApO1xufTtcbiJdLCJuYW1lcyI6WyJnZXQiLCJwb3N0IiwiaHR0cHNHZXQiLCJ2YWxpZGF0ZUdlbWluaVZpZGVvSW5wdXQiLCJDb25maWciLCJHZW1pbmlHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvciIsIkVycm9yIiwib3JpZ2luIiwib3BlcmF0aW9uUGF0dGVybiIsImdldEtleSIsImNvbmZpZyIsImtleSIsIm9wZXJhdGlvblVybCIsIm5hbWUiLCJ0ZXN0IiwiZ2VuZXJhdGVHZW1pbmlWaWRlbyIsIl9jb250ZXh0IiwiaW5wdXQiLCJ2YWxpZGF0ZWQiLCJtb2RlbCIsInJlc3VsdCIsImluc3RhbmNlcyIsInByb21wdCIsInBhcmFtZXRlcnMiLCJhc3BlY3RSYXRpbyIsImR1cmF0aW9uU2Vjb25kcyIsImR1cmF0aW9uIiwicmVzb2x1dGlvbiIsInNhbXBsZUNvdW50IiwiY2FjaGUiLCJoZWFkZXJzIiwiSGVhZGVycyIsInRpbWVvdXQiLCJlcnJvciIsImluY2x1ZGVzIiwiY29kZSIsInByb3ZpZGVyIiwicmVxdWVzdElkIiwic3RhdHVzIiwic3RhdHVzVXJsIiwiZ2V0R2VtaW5pVmlkZW9TdGF0dXMiLCJ1bmRlZmluZWQiLCJkb25lIiwicmVzcG9uc2UiLCJnZW5lcmF0ZVZpZGVvUmVzcG9uc2UiLCJyYWlNZWRpYUZpbHRlcmVkQ291bnQiLCJtZWRpYVVybCIsImdlbmVyYXRlZFNhbXBsZXMiLCJ2aWRlbyIsInVyaSIsInZhbGlkYXRlRG93bmxvYWRVcmwiLCJ2YWx1ZSIsInJlZGlyZWN0ZWQiLCJ1cmwiLCJVUkwiLCJhbGxvd2VkIiwicGF0aG5hbWUiLCJzdG9yYWdlIiwiaG9zdG5hbWUiLCJlbmRzV2l0aCIsInByb3RvY29sIiwicG9ydCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJoYXNoIiwic2VhcmNoUGFyYW1zIiwiaGFzIiwiZG93bmxvYWRHZW1pbmlWaWRlbyIsImRvd25sb2FkIiwicmVkaXJlY3RzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXF1ZXN0Iiwic3RhdHVzQ29kZSIsImxvY2F0aW9uIiwicmVzdW1lIiwiaHJlZiIsInRoZW4iLCJjaHVua3MiLCJsZW5ndGgiLCJvbiIsImNodW5rIiwiZGVzdHJveSIsInB1c2giLCJieXRlcyIsIkJ1ZmZlciIsImNvbmNhdCIsInN1YmFycmF5IiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLEdBQUcsRUFBRUMsSUFBSSxRQUFPLG9CQUFvQjtBQUM1QyxTQUFRRCxPQUFPRSxRQUFRLFFBQU8sYUFBYTtBQUUzQyxTQUFRQyx3QkFBd0IsUUFBTyx5Q0FBeUM7QUFDaEYsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFNcEMsT0FBTyxNQUFNQyxzQ0FBc0NDO0FBQU87QUFHMUQsTUFBTUMsU0FBUztBQUNmLE1BQU1DLG1CQUFtQjtBQUN6QixNQUFNQyxTQUFTLENBQUNDO0lBQ2QsTUFBTUMsTUFBTUQsUUFBUUMsT0FBT1AsT0FBT0osR0FBRyxDQUFTO0lBQzlDLElBQUcsQ0FBQ1csS0FBSztRQUNQLE1BQU0sSUFBSU4sOEJBQThCO0lBQzFDO0lBQ0EsT0FBT007QUFDVDtBQUNBLE1BQU1DLGVBQWUsQ0FBQ0M7SUFDcEIsSUFBRyxDQUFDTCxpQkFBaUJNLElBQUksQ0FBQ0QsT0FBTztRQUMvQixNQUFNLElBQUlQLE1BQU07SUFDbEI7SUFDQSxPQUFPLEdBQUdDLE9BQU8sUUFBUSxFQUFFTSxNQUFNO0FBQ25DO0FBRUEsaUZBQWlGLEdBQ2pGLE9BQU8sTUFBTUUsc0JBQXNCLE9BQ2pDQyxVQUFzQkMsT0FBeUJQO0lBRS9DLE1BQU1RLFlBQVlmLHlCQUF5QmM7SUFDM0MsTUFBTU4sTUFBTUYsT0FBT0M7SUFDbkIsTUFBTVMsUUFBUUQsVUFBVUMsS0FBSyxJQUFJVCxRQUFRUyxTQUFTO0lBQ2xELElBQUcsQ0FB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
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9wcml2YXRlL3RtcC92YXVsdC1yZWFrdG9yLWNvbXBsZXRpb24vcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9nZW1pbmlWaWRlby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldCwgcG9zdH0gZnJvbSAnQG5sYWJzL3JpcC1odW50ZXInO1xuaW1wb3J0IHtnZXQgYXMgaHR0cHNHZXR9IGZyb20gJ25vZGU6aHR0cHMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlR2VtaW5pVmlkZW9JbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvZ2VtaW5pR2VuZXJhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5cbmltcG9ydCB0eXBlIHtHZW1pbmlWaWRlb0lucHV0fSBmcm9tICcuLi9hZGFwdGVycy9nZW1pbmlHZW5lcmF0aW9uQWRhcHRlci5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7VmlkZW9HZW5lcmF0aW9uUmVzdWx0fSBmcm9tICcuL3ZpZGVvR2VuZXJhdGlvbi5qcyc7XG5cbmV4cG9ydCBjbGFzcyBHZW1pbmlHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvciBleHRlbmRzIEVycm9yIHt9XG5leHBvcnQgaW50ZXJmYWNlIEdlbWluaVZpZGVvQ29uZmlnIHtrZXk/OiBzdHJpbmc7IG1vZGVsPzogc3RyaW5nfVxuZXhwb3J0IGludGVyZmFjZSBHZW1pbmlWaWRlb1N0YXR1cyB7ZXJyb3I/OiBzdHJpbmc7IG1lZGlhVXJsPzogc3RyaW5nOyBzdGF0dXM6ICdmYWlsZWQnIHwgJ3Byb2Nlc3NpbmcnIHwgJ3N1Y2NlZWRlZCd9XG5jb25zdCBvcmlnaW4gPSAnaHR0cHM6Ly9nZW5lcmF0aXZlbGFuZ3VhZ2UuZ29vZ2xlYXBpcy5jb20nO1xuY29uc3Qgb3BlcmF0aW9uUGF0dGVybiA9IC9eKD86bW9kZWxzXFwvW2EtekEtWjAtOS5fLV0rXFwvKT9vcGVyYXRpb25zXFwvW2EtekEtWjAtOV8tXSskLztcbmNvbnN0IGdldEtleSA9IChjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGtleSA9IGNvbmZpZz8ua2V5IHx8IENvbmZpZy5nZXQ8c3RyaW5nPignY29udGVudEdlbmVyYXRpb24uZ2VtaW5pS2V5Jyk7XG4gIGlmKCFrZXkpIHtcbiAgICB0aHJvdyBuZXcgR2VtaW5pR2VuZXJhdGlvblJlamVjdGVkRXJyb3IoJ0dlbWluaSB2aWRlbyBnZW5lcmF0aW9uIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICB9XG4gIHJldHVybiBrZXk7XG59O1xuY29uc3Qgb3BlcmF0aW9uVXJsID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmKCFvcGVyYXRpb25QYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgR2VtaW5pIG9wZXJhdGlvbiBpZGVudGlmaWVyLicpO1xuICB9XG4gIHJldHVybiBgJHtvcmlnaW59L3YxYmV0YS8ke25hbWV9YDtcbn07XG5cbi8qKiBTdWJtaXQgb25jZTsgYW4gdW5jb25maXJtZWQgcmVzcG9uc2UgbXVzdCBiZSByZWNvbmNpbGVkIHJhdGhlciB0aGFuIHJldHJpZWQuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVHZW1pbmlWaWRlbyA9IGFzeW5jIChcbiAgX2NvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW1pbmlWaWRlb0lucHV0LCBjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZ1xuKTogUHJvbWlzZTxWaWRlb0dlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVHZW1pbmlWaWRlb0lucHV0KGlucHV0KTtcbiAgY29uc3Qga2V5ID0gZ2V0S2V5KGNvbmZpZyk7XG4gIGNvbnN0IG1vZGVsID0gdmFsaWRhdGVkLm1vZGVsIHx8IGNvbmZpZz8ubW9kZWwgfHwgJ3Zlby0zLjEtZ2VuZXJhdGUtcHJldmlldyc7XG4gIGlmKCEvXlthLXpBLVowLTkuXy1dKyQvLnRlc3QobW9kZWwpKSB7XG4gICAgdGhyb3cgbmV3IEdlbWluaUdlbmVyYXRpb25SZWplY3RlZEVycm9yKCdJbnZhbGlkIEdlbWluaSB2aWRlbyBtb2RlbC4nKTtcbiAgfVxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb3N0KGAke29yaWdpbn0vdjFiZXRhL21vZGVscy8ke21vZGVsfTpwcmVkaWN0TG9uZ1J1bm5pbmdgLCB7XG4gICAgaW5zdGFuY2VzOiBbe3Byb21wdDogdmFsaWRhdGVkLnByb21wdH1dLFxuICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgIC4uLih2YWxpZGF0ZWQuYXNwZWN0UmF0aW8gPyB7YXNwZWN0UmF0aW86IHZhbGlkYXRlZC5hc3BlY3RSYXRpb30gOiB7fSksXG4gICAgICBkdXJhdGlvblNlY29uZHM6IHZhbGlkYXRlZC5kdXJhdGlvbixcbiAgICAgIHJlc29sdXRpb246IHZhbGlkYXRlZC5yZXNvbHV0aW9uLFxuICAgICAgc2FtcGxlQ291bnQ6IDFcbiAgICB9XG4gIH0sIHtjYWNoZTogZmFsc2UsIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHsneC1nb29nLWFwaS1rZXknOiBrZXl9KSwgdGltZW91dDogMTIwXzAwMH0pIGFzIHtlcnJvcj86IHtjb2RlPzogbnVtYmVyfTsgbmFtZT86IHN0cmluZ307XG4gIGlmKHJlc3VsdC5lcnJvciAmJiBbNDAwLCA0MDEsIDQwMywgNDA0XS5pbmNsdWRlcyhyZXN1bHQuZXJyb3IuY29kZSB8fCAwKSkge1xuICAgIHRocm93IG5ldyBHZW1pbmlHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcignR2VtaW5pIHJlamVjdGVkIHRoZSB2aWRlbyByZXF1ZXN0LiBDaGVjayBtb2RlbCBhY2Nlc3MgYW5kIHNldHRpbmdzLicpO1xuICB9XG4gIGlmKHJlc3VsdC5lcnJvciB8fCAhcmVzdWx0Lm5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dlbWluaSB2aWRlbyBzdWJtaXNzaW9uIGNvdWxkIG5vdCBiZSBjb25maXJtZWQuJyk7XG4gIH1cbiAgcmV0dXJuIHtwcm92aWRlcjogJ2dlbWluaScsIHJlcXVlc3RJZDogcmVzdWx0Lm5hbWUsIHN0YXR1czogJ3F1ZXVlZCcsIHN0YXR1c1VybDogb3BlcmF0aW9uVXJsKHJlc3VsdC5uYW1lKX07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R2VtaW5pVmlkZW9TdGF0dXMgPSBhc3luYyAoXG4gIHJlcXVlc3RJZDogc3RyaW5nLCBjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZ1xuKTogUHJvbWlzZTxHZW1pbmlWaWRlb1N0YXR1cz4gPT4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXQob3BlcmF0aW9uVXJsKHJlcXVlc3RJZCksIHVuZGVmaW5lZCwge1xuICAgIGNhY2hlOiBmYWxzZSwgaGVhZGVyczogbmV3IEhlYWRlcnMoeyd4LWdvb2ctYXBpLWtleSc6IGdldEtleShjb25maWcpfSksIHRpbWVvdXQ6IDMwXzAwMFxuICB9KSBhcyB7XG4gICAgZG9uZT86IGJvb2xlYW47XG4gICAgZXJyb3I/OiB7Y29kZT86IG51bWJlcn07XG4gICAgcmVzcG9uc2U/OiB7Z2VuZXJhdGVWaWRlb1Jlc3BvbnNlPzoge1xuICAgICAgZ2VuZXJhdGVkU2FtcGxlcz86IHt2aWRlbz86IHt1cmk/OiBzdHJpbmd9fVtdOyByYWlNZWRpYUZpbHRlcmVkQ291bnQ/OiBudW1iZXI7XG4gICAgfTt9O1xuICB9O1xuICBpZihyZXN1bHQuZG9uZSAhPT0gdHJ1ZSkge1xuICAgIGlmKHJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHZW1pbmkgdmlkZW8gc3RhdHVzIGNvdWxkIG5vdCBiZSBjb25maXJtZWQuJyk7XG4gICAgfVxuICAgIHJldHVybiB7c3RhdHVzOiAncHJvY2Vzc2luZyd9O1xuICB9XG4gIGlmKHJlc3VsdC5lcnJvciB8fCByZXN1bHQucmVzcG9uc2U/LmdlbmVyYXRlVmlkZW9SZXNwb25zZT8ucmFpTWVkaWFGaWx0ZXJlZENvdW50KSB7XG4gICAgcmV0dXJuIHtlcnJvcjogJ0dlbWluaSB2aWRlbyBnZW5lcmF0aW9uIGZhaWxlZCBvciB3YXMgZmlsdGVyZWQuJywgc3RhdHVzOiAnZmFpbGVkJ307XG4gIH1cbiAgY29uc3QgbWVkaWFVcmwgPSByZXN1bHQucmVzcG9uc2U/LmdlbmVyYXRlVmlkZW9SZXNwb25zZT8uZ2VuZXJhdGVkU2FtcGxlcz8uWzBdPy52aWRlbz8udXJpO1xuICBpZighbWVkaWFVcmwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dlbWluaSBjb21wbGV0ZWQgd2l0aG91dCB2ZXJpZmlhYmxlIHZpZGVvIG91dHB1dC4nKTtcbiAgfVxuICB2YWxpZGF0ZURvd25sb2FkVXJsKG1lZGlhVXJsLCBmYWxzZSk7XG4gIHJldHVybiB7bWVkaWFVcmwsIHN0YXR1czogJ3N1Y2NlZWRlZCd9O1xufTtcblxuY29uc3QgdmFsaWRhdGVEb3dubG9hZFVybCA9ICh2YWx1ZTogc3RyaW5nLCByZWRpcmVjdGVkOiBib29sZWFuKTogVVJMID0+IHtcbiAgY29uc3QgdXJsID0gbmV3IFVSTCh2YWx1ZSk7XG4gIGNvbnN0IGFsbG93ZWQgPSB1cmwub3JpZ2luID09PSBvcmlnaW4gJiYgL15cXC8oPzpkb3dubG9hZFxcLyk/djFiZXRhXFwvZmlsZXNcXC9bYS16QS1aMC05Xy1dKyg/Ojpkb3dubG9hZCk/JC8udGVzdCh1cmwucGF0aG5hbWUpO1xuICBjb25zdCBzdG9yYWdlID0gcmVkaXJlY3RlZCAmJiAodXJsLmhvc3RuYW1lID09PSAnc3RvcmFnZS5nb29nbGVhcGlzLmNvbScgfHwgdXJsLmhvc3RuYW1lLmVuZHNXaXRoKCcuZ29vZ2xldXNlcmNvbnRlbnQuY29tJykpO1xuICBpZih1cmwucHJvdG9jb2wgIT09ICdodHRwczonIHx8IHVybC5wb3J0IHx8IHVybC51c2VybmFtZSB8fCB1cmwucGFzc3dvcmQgfHwgdXJsLmhhc2ggfHwgdXJsLnNlYXJjaFBhcmFtcy5oYXMoJ2tleScpIHx8ICEoYWxsb3dlZCB8fCBzdG9yYWdlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBHZW1pbmkgdmlkZW8gZG93bmxvYWQgVVJMLicpO1xuICB9XG4gIHJldHVybiB1cmw7XG59O1xuXG4vKiogQmluYXJ5IGRvd25sb2FkcyB1c2UgSFRUUFMgc3RyZWFtcyBiZWNhdXNlIFJpcC1IdW50ZXIgY3VycmVudGx5IGRlY29kZXMgbm9uLUpTT04gYm9kaWVzIGFzIHRleHQuICovXG5leHBvcnQgY29uc3QgZG93bmxvYWRHZW1pbmlWaWRlbyA9IGFzeW5jIChtZWRpYVVybDogc3RyaW5nLCBjb25maWc/OiBHZW1pbmlWaWRlb0NvbmZpZyk6IFByb21pc2U8QnVmZmVyPiA9PiB7XG4gIGNvbnN0IGtleSA9IGdldEtleShjb25maWcpO1xuICBjb25zdCBkb3dubG9hZCA9ICh2YWx1ZTogc3RyaW5nLCByZWRpcmVjdHM6IG51bWJlcik6IFByb21pc2U8QnVmZmVyPiA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgdXJsID0gdmFsaWRhdGVEb3dubG9hZFVybCh2YWx1ZSwgcmVkaXJlY3RzID4gMCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGh0dHBzR2V0KHVybCwge1xuICAgICAgaGVhZGVyczogdXJsLm9yaWdpbiA9PT0gb3JpZ2luID8geyd4LWdvb2ctYXBpLWtleSc6IGtleX0gOiB7fSwgdGltZW91dDogNjBfMDAwXG4gICAgfSwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICBpZihbMzAxLCAzMDIsIDMwMywgMzA3LCAzMDhdLmluY2x1ZGVzKHJlc3BvbnNlLnN0YXR1c0NvZGUgfHwgMCkgJiYgcmVzcG9uc2UuaGVhZGVycy5sb2NhdGlvbiAmJiByZWRpcmVjdHMgPCAzKSB7XG4gICAgICAgIHJlc3BvbnNlLnJlc3VtZSgpO1xuICAgICAgICBkb3dubG9hZChuZXcgVVJMKHJlc3BvbnNlLmhlYWRlcnMubG9jYXRpb24sIHVybCkuaHJlZiwgcmVkaXJlY3RzICsgMSkudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZihyZXNwb25zZS5zdGF0dXNDb2RlICE9PSAyMDApIHtcbiAgICAgICAgcmVzcG9uc2UucmVzdW1lKCk7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0dlbWluaSB2aWRlbyBkb3dubG9hZCBmYWlsZWQuJykpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjaHVua3M6IEJ1ZmZlcltdID0gW107XG4gICAgICBsZXQgbGVuZ3RoID0gMDtcbiAgICAgIHJlc3BvbnNlLm9uKCdkYXRhJywgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICAgICAgbGVuZ3RoICs9IGNodW5rLmxlbmd0aDtcbiAgICAgICAgaWYobGVuZ3RoID4gMTI4ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICByZXNwb25zZS5kZXN0cm95KG5ldyBFcnJvcignR2VtaW5pIHZpZGVvIGV4Y2VlZHMgdGhlIGRvd25sb2FkIGxpbWl0LicpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjaHVua3MucHVzaChjaHVuayk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgIHJlc3BvbnNlLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ5dGVzID0gQnVmZmVyLmNvbmNhdChjaHVua3MpO1xuICAgICAgICBpZihieXRlcy5zdWJhcnJheSg0LCA4KS50b1N0cmluZygnYXNjaWknKSAhPT0gJ2Z0eXAnKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignR2VtaW5pIGRpZCBub3QgcmV0dXJuIE1QNCB2aWRlbyBieXRlcy4nKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlc29sdmUoYnl0ZXMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmVxdWVzdC5vbignZXJyb3InLCByZWplY3QpO1xuICAgIHJlcXVlc3Qub24oJ3RpbWVvdXQnLCAoKSA9PiByZXF1ZXN0LmRlc3Ryb3kobmV3IEVycm9yKCdHZW1pbmkgdmlkZW8gZG93bmxvYWQgdGltZWQgb3V0LicpKSk7XG4gIH0pO1xuICByZXR1cm4gZG93bmxvYWQobWVkaWFVcmwsIDApO1xufTtcbiJdLCJuYW1lcyI6WyJnZXQiLCJwb3N0IiwiaHR0cHNHZXQiLCJ2YWxpZGF0ZUdlbWluaVZpZGVvSW5wdXQiLCJDb25maWciLCJHZW1pbmlHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvciIsIkVycm9yIiwib3JpZ2luIiwib3BlcmF0aW9uUGF0dGVybiIsImdldEtleSIsImNvbmZpZyIsImtleSIsIm9wZXJhdGlvblVybCIsIm5hbWUiLCJ0ZXN0IiwiZ2VuZXJhdGVHZW1pbmlWaWRlbyIsIl9jb250ZXh0IiwiaW5wdXQiLCJ2YWxpZGF0ZWQiLCJtb2RlbCIsInJlc3VsdCIsImluc3RhbmNlcyIsInByb21wdCIsInBhcmFtZXRlcnMiLCJhc3BlY3RSYXRpbyIsImR1cmF0aW9uU2Vjb25kcyIsImR1cmF0aW9uIiwicmVzb2x1dGlvbiIsInNhbXBsZUNvdW50IiwiY2FjaGUiLCJoZWFkZXJzIiwiSGVhZGVycyIsInRpbWVvdXQiLCJlcnJvciIsImluY2x1ZGVzIiwiY29kZSIsInByb3ZpZGVyIiwicmVxdWVzdElkIiwic3RhdHVzIiwic3RhdHVzVXJsIiwiZ2V0R2VtaW5pVmlkZW9TdGF0dXMiLCJ1bmRlZmluZWQiLCJkb25lIiwicmVzcG9uc2UiLCJnZW5lcmF0ZVZpZGVvUmVzcG9uc2UiLCJyYWlNZWRpYUZpbHRlcmVkQ291bnQiLCJtZWRpYVVybCIsImdlbmVyYXRlZFNhbXBsZXMiLCJ2aWRlbyIsInVyaSIsInZhbGlkYXRlRG93bmxvYWRVcmwiLCJ2YWx1ZSIsInJlZGlyZWN0ZWQiLCJ1cmwiLCJVUkwiLCJhbGxvd2VkIiwicGF0aG5hbWUiLCJzdG9yYWdlIiwiaG9zdG5hbWUiLCJlbmRzV2l0aCIsInByb3RvY29sIiwicG9ydCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJoYXNoIiwic2VhcmNoUGFyYW1zIiwiaGFzIiwiZG93bmxvYWRHZW1pbmlWaWRlbyIsImRvd25sb2FkIiwicmVkaXJlY3RzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXF1ZXN0Iiwic3RhdHVzQ29kZSIsImxvY2F0aW9uIiwicmVzdW1lIiwiaHJlZiIsInRoZW4iLCJjaHVua3MiLCJsZW5ndGgiLCJvbiIsImNodW5rIiwiZGVzdHJveSIsInB1c2giLCJieXRlcyIsIkJ1ZmZlciIsImNvbmNhdCIsInN1YmFycmF5IiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLEdBQUcsRUFBRUMsSUFBSSxRQUFPLG9CQUFvQjtBQUM1QyxTQUFRRCxPQUFPRSxRQUFRLFFBQU8sYUFBYTtBQUUzQyxTQUFRQyx3QkFBd0IsUUFBTyx5Q0FBeUM7QUFDaEYsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFNcEMsT0FBTyxNQUFNQyxzQ0FBc0NDO0FBQU87QUFHMUQsTUFBTUMsU0FBUztBQUNmLE1BQU1DLG1CQUFtQjtBQUN6QixNQUFNQyxTQUFTLENBQUNDO0lBQ2QsTUFBTUMsTUFBTUQsUUFBUUMsT0FBT1AsT0FBT0osR0FBRyxDQUFTO0lBQzlDLElBQUcsQ0FBQ1csS0FBSztRQUNQLE1BQU0sSUFBSU4sOEJBQThCO0lBQzFDO0lBQ0EsT0FBT007QUFDVDtBQUNBLE1BQU1DLGVBQWUsQ0FBQ0M7SUFDcEIsSUFBRyxDQUFDTCxpQkFBaUJNLElBQUksQ0FBQ0QsT0FBTztRQUMvQixNQUFNLElBQUlQLE1BQU07SUFDbEI7SUFDQSxPQUFPLEdBQUdDLE9BQU8sUUFBUSxFQUFFTSxNQUFNO0FBQ25DO0FBRUEsaUZBQWlGLEdBQ2pGLE9BQU8sTUFBTUUsc0JBQXNCLE9BQ2pDQyxVQUFzQkMsT0FBeUJQO0lBRS9DLE1BQU1RLFlBQVlmLHlCQUF5QmM7SUFDM0MsTUFBTU4sTUFBTUYsT0FBT0M7SUFDbkIsTUFBTVMsUUFBUUQsVUFBVUMsS0FBSyxJQUFJVCxRQUFRUyxTQUFTO0lBQ2xELElBQUcsQ0FBQyxvQkFBb0JMLElBQUksQ0FBQ0ssUUFBUTtRQUNuQyxNQUFNLElBQUlkLDhCQUE4QjtJQUMxQztJQUNBLE1BQU1lLFNBQVMsTUFBTW5CLEtBQUssR0FBR00sT0FBTyxlQUFlLEVBQUVZLE1BQU0sbUJBQW1CLENBQUMsRUFBRTtRQUMvRUUsV0FBVztZQUFDO2dCQUFDQyxRQUFRSixVQUFVSSxNQUFNO1lBQUE7U0FBRTtRQUN2Q0MsWUFBWTtZQUNWLEdBQUlMLFVBQVVNLFdBQVcsR0FBRztnQkFBQ0EsYUFBYU4sVUFBVU0sV0FBVztZQUFBLElBQUksQ0FBQyxDQUFDO1lBQ3JFQyxpQkFBaUJQLFVBQVVRLFFBQVE7WUFDbkNDLFlBQVlULFVBQVVTLFVBQVU7WUFDaENDLGFBQWE7UUFDZjtJQUNGLEdBQUc7UUFBQ0MsT0FBTztRQUFPQyxTQUFTLElBQUlDLFFBQVE7WUFBQyxrQkFBa0JwQjtRQUFHO1FBQUlxQixTQUFTO0lBQU87SUFDakYsSUFBR1osT0FBT2EsS0FBSyxJQUFJO1FBQUM7UUFBSztRQUFLO1FBQUs7S0FBSSxDQUFDQyxRQUFRLENBQUNkLE9BQU9hLEtBQUssQ0FBQ0UsSUFBSSxJQUFJLElBQUk7UUFDeEUsTUFBTSxJQUFJOUIsOEJBQThCO0lBQzFDO0lBQ0EsSUFBR2UsT0FBT2EsS0FBSyxJQUFJLENBQUNiLE9BQU9QLElBQUksRUFBRTtRQUMvQixNQUFNLElBQUlQLE1BQU07SUFDbEI7SUFDQSxPQUFPO1FBQUM4QixVQUFVO1FBQVVDLFdBQVdqQixPQUFPUCxJQUFJO1FBQUV5QixRQUFRO1FBQVVDLFdBQVczQixhQUFhUSxPQUFPUCxJQUFJO0lBQUM7QUFDNUcsRUFBRTtBQUVGLE9BQU8sTUFBTTJCLHVCQUF1QixPQUNsQ0gsV0FBbUIzQjtJQUVuQixNQUFNVSxTQUFTLE1BQU1wQixJQUFJWSxhQUFheUIsWUFBWUksV0FBVztRQUMzRFosT0FBTztRQUFPQyxTQUFTLElBQUlDLFFBQVE7WUFBQyxrQkFBa0J0QixPQUFPQztRQUFPO1FBQUlzQixTQUFTO0lBQ25GO0lBT0EsSUFBR1osT0FBT3NCLElBQUksS0FBSyxNQUFNO1FBQ3ZCLElBQUd0QixPQUFPYSxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUkzQixNQUFNO1FBQ2xCO1FBQ0EsT0FBTztZQUFDZ0MsUUFBUTtRQUFZO0lBQzlCO0lBQ0EsSUFBR2xCLE9BQU9hLEtBQUssSUFBSWIsT0FBT3VCLFFBQVEsRUFBRUMsdUJBQXVCQyx1QkFBdUI7UUFDaEYsT0FBTztZQUFDWixPQUFPO1lBQW1ESyxRQUFRO1FBQVE7SUFDcEY7SUFDQSxNQUFNUSxXQUFXMUIsT0FBT3VCLFFBQVEsRUFBRUMsdUJBQXVCRyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUVDLE9BQU9DO0lBQ3ZGLElBQUcsQ0FBQ0gsVUFBVTtRQUNaLE1BQU0sSUFBSXhDLE1BQU07SUFDbEI7SUFDQTRDLG9CQUFvQkosVUFBVTtJQUM5QixPQUFPO1FBQUNBO1FBQVVSLFFBQVE7SUFBVztBQUN2QyxFQUFFO0FBRUYsTUFBTVksc0JBQXNCLENBQUNDLE9BQWVDO0lBQzFDLE1BQU1DLE1BQU0sSUFBSUMsSUFBSUg7SUFDcEIsTUFBTUksVUFBVUYsSUFBSTlDLE1BQU0sS0FBS0EsVUFBVSxpRUFBaUVPLElBQUksQ0FBQ3VDLElBQUlHLFFBQVE7SUFDM0gsTUFBTUMsVUFBVUwsY0FBZUMsQ0FBQUEsSUFBSUssUUFBUSxLQUFLLDRCQUE0QkwsSUFBSUssUUFBUSxDQUFDQyxRQUFRLENBQUMseUJBQXdCO0lBQzFILElBQUdOLElBQUlPLFFBQVEsS0FBSyxZQUFZUCxJQUFJUSxJQUFJLElBQUlSLElBQUlTLFFBQVEsSUFBSVQsSUFBSVUsUUFBUSxJQUFJVixJQUFJVyxJQUFJLElBQUlYLElBQUlZLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLFVBQVUsQ0FBRVgsQ0FBQUEsV0FBV0UsT0FBTSxHQUFJO1FBQzVJLE1BQU0sSUFBSW5ELE1BQU07SUFDbEI7SUFDQSxPQUFPK0M7QUFDVDtBQUVBLHFHQUFxRyxHQUNyRyxPQUFPLE1BQU1jLHNCQUFzQixPQUFPckIsVUFBa0JwQztJQUMxRCxNQUFNQyxNQUFNRixPQUFPQztJQUNuQixNQUFNMEQsV0FBVyxDQUFDakIsT0FBZWtCLFlBQXVDLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7WUFDNUYsTUFBTW5CLE1BQU1ILG9CQUFvQkMsT0FBT2tCLFlBQVk7WUFDbkQsTUFBTUksVUFBVXZFLFNBQVNtRCxLQUFLO2dCQUM1QnZCLFNBQVN1QixJQUFJOUMsTUFBTSxLQUFLQSxTQUFTO29CQUFDLGtCQUFrQkk7Z0JBQUcsSUFBSSxDQUFDO2dCQUFHcUIsU0FBUztZQUMxRSxHQUFHLENBQUNXO2dCQUNGLElBQUc7b0JBQUM7b0JBQUs7b0JBQUs7b0JBQUs7b0JBQUs7aUJBQUksQ0FBQ1QsUUFBUSxDQUFDUyxTQUFTK0IsVUFBVSxJQUFJLE1BQU0vQixTQUFTYixPQUFPLENBQUM2QyxRQUFRLElBQUlOLFlBQVksR0FBRztvQkFDN0cxQixTQUFTaUMsTUFBTTtvQkFDZlIsU0FBUyxJQUFJZCxJQUFJWCxTQUFTYixPQUFPLENBQUM2QyxRQUFRLEVBQUV0QixLQUFLd0IsSUFBSSxFQUFFUixZQUFZLEdBQUdTLElBQUksQ0FBQ1AsU0FBU0M7b0JBQ3BGO2dCQUNGO2dCQUNBLElBQUc3QixTQUFTK0IsVUFBVSxLQUFLLEtBQUs7b0JBQzlCL0IsU0FBU2lDLE1BQU07b0JBQ2ZKLE9BQU8sSUFBSWxFLE1BQU07b0JBQ2pCO2dCQUNGO2dCQUNBLE1BQU15RSxTQUFtQixFQUFFO2dCQUMzQixJQUFJQyxTQUFTO2dCQUNickMsU0FBU3NDLEVBQUUsQ0FBQyxRQUFRLENBQUNDO29CQUNuQkYsVUFBVUUsTUFBTUYsTUFBTTtvQkFDdEIsSUFBR0EsU0FBUyxNQUFNLE9BQU8sTUFBTTt3QkFDN0JyQyxTQUFTd0MsT0FBTyxDQUFDLElBQUk3RSxNQUFNO29CQUM3QixPQUFPO3dCQUNMeUUsT0FBT0ssSUFBSSxDQUFDRjtvQkFDZDtnQkFDRjtnQkFDQXZDLFNBQVNzQyxFQUFFLENBQUMsU0FBU1Q7Z0JBQ3JCN0IsU0FBU3NDLEVBQUUsQ0FBQyxPQUFPO29CQUNqQixNQUFNSSxRQUFRQyxPQUFPQyxNQUFNLENBQUNSO29CQUM1QixJQUFHTSxNQUFNRyxRQUFRLENBQUMsR0FBRyxHQUFHQyxRQUFRLENBQUMsYUFBYSxRQUFRO3dCQUNwRGpCLE9BQU8sSUFBSWxFLE1BQU07d0JBQ2pCO29CQUNGO29CQUNBaUUsUUFBUWM7Z0JBQ1Y7WUFDRjtZQUNBWixRQUFRUSxFQUFFLENBQUMsU0FBU1Q7WUFDcEJDLFFBQVFRLEVBQUUsQ0FBQyxXQUFXLElBQU1SLFFBQVFVLE9BQU8sQ0FBQyxJQUFJN0UsTUFBTTtRQUN4RDtJQUNBLE9BQU84RCxTQUFTdEIsVUFBVTtBQUM1QixFQUFFIn0=
|
package/lib/actions/groups.js
CHANGED
|
@@ -277,4 +277,4 @@ export const isGrouped = (context, userId, groupId)=>{
|
|
|
277
277
|
}).then(()=>null));
|
|
278
278
|
};
|
|
279
279
|
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9ncm91cHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7ZmxhdHRlbn0gZnJvbSAnQG5sYWJzL3V0aWxzL2FycmF5cy9mbGF0dGVuJztcbmltcG9ydCB7dW5pcUJ5fSBmcm9tICdAbmxhYnMvdXRpbHMvYXJyYXlzL3VuaXEnO1xuaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUFyYW5nb0lkLCBwYXJzZUNoYXIsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnksIGxpdGVyYWx9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5cbmltcG9ydCB7Q09MTEVDVElPTlMsIEVER0VTfSBmcm9tICcuLi9jb25zdGFudHMvY29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHtFcnJvclR5cGVzfSBmcm9tICcuLi90eXBlcy9lcnJvci50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7YWRkSXRlbSwgZGVsZXRlSXRlbSwgZ2V0SXRlbUJ5LCB1cGRhdGVJdGVtfSBmcm9tICcuL2NydWQuanMnO1xuaW1wb3J0IHtleHRyYWN0VGFncywgZ2V0VGFnTGlzdEJ5TmFtZSwgdXBkYXRlVGFnc0luSXRlbX0gZnJvbSAnLi90YWdzLmpzJztcblxuaW1wb3J0IHR5cGUge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7R3JvdXBFZGdlVHlwZSwgR3JvdXBUeXBlLCBHcm91cFVzZXJ9IGZyb20gJy4uL3R5cGVzL2dyb3Vwcy50eXBlcy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnkgPSAnZ3JvdXBzJztcbmNvbnN0IGdyb3Vwc0NvbGxlY3Rpb24gPSBsaXRlcmFsKENPTExFQ1RJT05TLkdST1VQUyk7XG5jb25zdCB1c2Vyc0NvbGxlY3Rpb24gPSBsaXRlcmFsKENPTExFQ1RJT05TLlVTRVJTKTtcbmNvbnN0IGhhc0Nvbm5lY3Rpb25Db2xsZWN0aW9uID0gbGl0ZXJhbChFREdFUy5IQVNfQ09OTkVDVElPTik7XG5jb25zdCBpc1RhZ2dlZENvbGxlY3Rpb24gPSBsaXRlcmFsKEVER0VTLklTX1RBR0dFRCk7XG5cbi8qKlxuICogR2V0IGFsbCBncm91cHMgZm9yIHRoZSBhcHAgd2l0aCB0aGVpciB1c2Vyc1xuICogTm90ZTogVXNlcyBjdXN0b20gcXVlcnkgZm9yIGVkZ2UgdHJhdmVyc2FsIHRvIGluY2x1ZGUgdXNlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEdyb3VwTGlzdEJ5QXBwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyKTogUHJvbWlzZTxHcm91cFR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnZ2V0R3JvdXBMaXN0QnlBcHAnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG5cbiAgLy8gQ29tcGxleCBlZGdlIHRyYXZlcnNhbCBxdWVyeSAtIGtlZXAgY3VzdG9tIGltcGxlbWVudGF0aW9uXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgXG4gICAgRk9SIGcgSU4gJHtncm91cHNDb2xsZWN0aW9ufVxuICAgICAgTEVUIHVzZXJzID0gKFxuICAgICAgICBGT1IgdSwgbCBJTiBPVVRCT1VORCBnLl9pZCAke2hhc0Nvbm5lY3Rpb25Db2xsZWN0aW9ufVxuICAgICAgICBSRVRVUk4gTUVSR0UodSwge3R5cGU6IGwudHlwZX0pXG4gICAgICApXG4gICAgICAke2Zyb20gIT09IHVuZGVmaW5lZCAmJiB0byAhPT0gdW5kZWZpbmVkID8gbGl0ZXJhbChgTElNSVQgJHtmcm9tfSwgJHt0byAtIGZyb219YCkgOiBsaXRlcmFsKCcnKX1cbiAgICAgIFNPUlQgZy5hZGRlZFxuICAgICAgUkVUVVJOIERJU1RJTkNUIE1FUkdFKGcsIHt1c2Vyc30pXG4gIGA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgbG9nRXJyb3Ioe1xuICAgICAgICBhY3Rpb24sXG4gICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCk7XG5cbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cExpc3RCeVVzZXIgPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHVzZXJJZDogc3RyaW5nLFxuICBmcm9tOiBudW1iZXIsXG4gIHRvOiBudW1iZXJcbik6IFByb21pc2U8R3JvdXBUeXBlW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEdyb3VwTGlzdEJ5VXNlcic7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcblxuICAvLyBDb21wbGV4IGVkZ2UgdHJhdmVyc2FsIHF1ZXJ5IHdpdGggdXNlciBmaWx0ZXJpbmcgLSBrZWVwIGN1c3RvbSBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFxuICAgIEZPUiBnLCBlIElOIElOQk9VTkQgJHtgdXNlcnMvJHt1c2VySWR9YH0gJHtoYXNDb25uZWN0aW9uQ29sbGVjdGlvbn1cbiAgICAgIExFVCB1c2VycyA9IChcbiAgICAgICAgRk9SIHUsIGwgSU4gT1VUQk9VTkQgZy5faWQgJHtoYXNDb25uZWN0aW9uQ29sbGVjdGlvbn1cbiAgICAgICAgUkVUVVJOIE1FUkdFKHUsIHt0eXBlOiBsLnR5cGV9KVxuICAgICAgKVxuICAgICAgJHtmcm9tICE9PSB1bmRlZmluZWQgJiYgdG8gIT09IHVuZGVmaW5lZCA/IGxpdGVyYWwoYExJTUlUICR7ZnJvbX0sICR7dG8gLSBmcm9tfWApIDogbGl0ZXJhbCgnJyl9XG4gICAgICBTT1JUIGcuYWRkZWRcbiAgICAgIFJFVFVSTiBESVNUSU5DVCBNRVJHRShnLCB7dXNlcnN9KVxuICBgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuXG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBMaXN0QnlUYWdzID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICB0YWdOYW1lczogc3RyaW5nW10sXG4gIGZyb206IG51bWJlcixcbiAgdG86IG51bWJlclxuKTogUHJvbWlzZTxHcm91cFR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnZ2V0TGlzdEJ5VGFncyc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcblxuICAvLyBDb21wbGV4IG11bHRpLXRhZyBxdWVyeSB3aXRoIGVkZ2UgdHJhdmVyc2FsIC0ga2VlcCBjdXN0b20gaW1wbGVtZW50YXRpb25cbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIHRhZ05hbWVzLm1hcCgodGFnTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXRUYWdOYW1lID0gcGFyc2VJZCh0YWdOYW1lKTtcbiAgICAgIGNvbnN0IGxpbWl0Q2xhdXNlID0gZnJvbSAhPT0gdW5kZWZpbmVkICYmIHRvICE9PSB1bmRlZmluZWQgPyBgTElNSVQgJHtmcm9tfSwgJHt0byAtIGZyb219YCA6ICcnO1xuICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgcCwgZSBJTiBPVVRCT1VORCAke2B0YWdzLyR7Zm9ybWF0VGFnTmFtZX1gfSAke2lzVGFnZ2VkQ29sbGVjdGlvbn1cbiAgICAgICAgICBGT1IgdSBJTiAke3VzZXJzQ29sbGVjdGlvbn1cbiAgICAgICAgICBMRVQgbGlrZXMgPSAoXG4gICAgICAgICAgICBGT1IgcG9zdCwgbGlrZSBJTiBJTkJPVU5EIHAuX2lkIGxpa2VzXG4gICAgICAgICAgICBGSUxURVIgbGlrZS52YWx1ZSA9PSAnbGlrZSdcbiAgICAgICAgICAgIFJFVFVSTiBsaWtlXG4gICAgICAgICAgKVxuICAgICAgICAgIExFVCBkaXNsaWtlcyA9IChcbiAgICAgICAgICAgIEZPUiBwb3N0LCBsaWtlIElOIElOQk9VTkQgcC5faWQgbGlrZXNcbiAgICAgICAgICAgIEZJTFRFUiBsaWtlLnZhbHVlID09ICdkaXNsaWtlJ1xuICAgICAgICAgICAgUkVUVVJOIGxpa2VcbiAgICAgICAgICApXG4gICAgICAgICAgRklMVEVSIGUudHlwZSA9PSAncG9zdCcgJiYgcC51c2VySWQgPT0gdS5fa2V5XG4gICAgICAgICAgJHtsaXRlcmFsKGxpbWl0Q2xhdXNlKX1cbiAgICAgICAgICBTT1JUIHAuYWRkZWRcbiAgICAgICAgICBSRVRVUk4gRElTVElOQ1QgTUVSR0UocCwge3VzZXI6dSwgbGlrZXM6TEVOR1RIKGxpa2VzKSwgZGlzbGlrZXM6TEVOR1RIKGRpc2xpa2VzKX0pYDtcblxuICAgICAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KS50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICBsb2dFcnJvcih7XG4gICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgICAgICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCk7XG5cbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH0pO1xuICAgIH0pXG4gIClcbiAgICAudGhlbigocmVzdWx0cykgPT4gdW5pcUJ5KGZsYXR0ZW4ocmVzdWx0cyksIChpdGVtOiBhbnkpID0+IGl0ZW0uX2tleSkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBCeUlkID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGl0ZW1JZDogc3RyaW5nKTogUHJvbWlzZTxHcm91cFR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9ufSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25JZCA9IHNlc3Npb24/LnVzZXJJZCB8fCAnJztcbiAgY29uc3QgZm9ybWF0SXRlbUlkID0gcGFyc2VJZChpdGVtSWQpO1xuXG4gIC8vIENvbXBsZXggZWRnZSB0cmF2ZXJzYWwgd2l0aCB1c2VyIG93bmVyc2hpcCBjaGVjayAtIGtlZXAgY3VzdG9tIGltcGxlbWVudGF0aW9uXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIGcsIGUgSU4gT1VUQk9VTkQgJHtgdXNlcnMvJHtzZXNzaW9uSWR9YH0gaGFzQ29ubmVjdGlvblxuICAgICAgRklMVEVSIGcuX2tleSA9PSAke2Zvcm1hdEl0ZW1JZH1cbiAgICAgIExFVCB1c2VycyA9IChcbiAgICAgICAgRk9SIHUsIGwgSU4gT1VUQk9VTkQgZy5faWQgaGFzQ29ubmVjdGlvblxuICAgICAgICBSRVRVUk4gTUVSR0UgKHUsIHt0eXBlOmwudHlwZX0pXG4gICAgICApXG4gICAgICBMSU1JVCAxXG4gICAgICBSRVRVUk4gRElTVElOQ1QgTUVSR0UoZywge3VzZXJzOnVzZXJzfSlgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChncm91cDogR3JvdXBUeXBlKSA9PiBncm91cClcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cERldGFpbHMgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZ3JvdXBJZDogc3RyaW5nKTogUHJvbWlzZTxHcm91cFR5cGU+ID0+IHtcbiAgY29uc3QgZm9ybWF0R3JvdXBJZCA9IHBhcnNlSWQoZ3JvdXBJZCk7XG4gIHJldHVybiBnZXRJdGVtQnk8R3JvdXBUeXBlPihjb250ZXh0LCBDT0xMRUNUSU9OUy5HUk9VUFMsIHtfa2V5OiBmb3JtYXRHcm91cElkfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlR3JvdXBFZGdlID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICB1c2VyRG9jSWQ6IHN0cmluZyxcbiAgZ3JvdXBEb2NJZDogc3RyaW5nXG4pOiBQcm9taXNlPEdyb3VwRWRnZVR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2NyZWF0ZUdyb3VwRWRnZSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0VXNlRG9jSWQgPSBwYXJzZUFyYW5nb0lkKHVzZXJEb2NJZCk7XG4gIGNvbnN0IGZvcm1hdEdyb3VwRG9jSWQgPSBwYXJzZUFyYW5nb0lkKGdyb3VwRG9jSWQpO1xuXG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGVkZ2VDb2xsZWN0aW9uOiBFZGdlQ29sbGVjdGlvbiA9IHVzZURiKGRhdGFiYXNlTmFtZSkuY29sbGVjdGlvbignaGFzQ29ubmVjdGlvbicpO1xuICBjb25zdCBlZGdlSWQgPSBjcmVhdGVIYXNoKGBncm91cC0ke2Zvcm1hdFVzZURvY0lkfS0ke2Zvcm1hdEdyb3VwRG9jSWR9YCk7XG4gIGNvbnN0IGVkZ2U6IGFueSA9IHtcbiAgICBfZnJvbTogZm9ybWF0VXNlRG9jSWQsXG4gICAgX2tleTogZWRnZUlkLFxuICAgIF90bzogZm9ybWF0R3JvdXBEb2NJZCxcbiAgICBhZGRlZDogbm93LFxuICAgIHR5cGU6ICdncm91cHMnXG4gIH07XG5cbiAgcmV0dXJuIGVkZ2VDb2xsZWN0aW9uLnNhdmUoZWRnZSwge3JldHVybk5ldzogdHJ1ZX0pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwge3Nlc3Npb246IHt1c2VySWQ6IGZvcm1hdFVzZURvY0lkfX0pLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuY29uc3QgYnVpbGRHcm91cE11dGF0aW9uID0gKHtkZXNjcmlwdGlvbiA9ICcnLCBuYW1lID0gJ1VudGl0bGVkJywgdHlwZX06IEdyb3VwVHlwZSk6IFBhcnRpYWw8R3JvdXBUeXBlPiA9PiAoe1xuICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24uc3Vic3RyaW5nKDAsIDY0MCksXG4gIG5hbWUsXG4gIHR5cGU6IHBhcnNlQ2hhcih0eXBlLCAxNikgfHwgJ3ByaXZhdGUnXG59KTtcblxuZXhwb3J0IGNvbnN0IGFkZEdyb3VwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGl0ZW06IEdyb3VwVHlwZSk6IFByb21pc2U8R3JvdXBUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdhZGQnO1xuICBjb25zdCB7c2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBzZXNzaW9uRG9jSWQgPSBgJHtDT0xMRUNUSU9OUy5VU0VSU30vJHtzZXNzaW9uSWR9YDtcbiAgY29uc3Qge2Rlc2NyaXB0aW9uID0gJyd9OiBHcm91cFR5cGUgPSBpdGVtO1xuICBjb25zdCBpZCA9IGNyZWF0ZUhhc2goYGdyb3VwLSR7c2Vzc2lvbklkfWApO1xuICBjb25zdCBpbnNlcnQ6IEdyb3VwVHlwZSA9IHtcbiAgICBfa2V5OiBpZCxcbiAgICAuLi5idWlsZEdyb3VwTXV0YXRpb24oaXRlbSlcbiAgfTtcblxuICByZXR1cm4gYWRkSXRlbTxHcm91cFR5cGU+KGNvbnRleHQsIENPTExFQ1RJT05TLkdST1VQUywgaW5zZXJ0KVxuICAgIC50aGVuKChncm91cDogR3JvdXBUeXBlKSA9PiB7XG4gICAgICAvLyBVcGRhdGUgbGlua2VkIHRhZ3NcbiAgICAgIGNvbnN0IHtfaWQ6IGdyb3VwRG9jSWR9OiBHcm91cFR5cGUgPSBncm91cDtcblxuICAgICAgLy8gVmFsaWRhdGUgc2Vzc2lvbkRvY0lkIGFuZCBncm91cERvY0lkXG4gICAgICBpZiAoIXNlc3Npb25Eb2NJZCB8fCB0eXBlb2Ygc2Vzc2lvbkRvY0lkICE9PSAnc3RyaW5nJyB8fCAhc2Vzc2lvbkRvY0lkLnN0YXJ0c1dpdGgoJ3VzZXJzLycpKSB7XG4gICAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuSU5WQUxJRF9JTlBVVFxuICAgICAgICB9LCBuZXcgRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBzZXNzaW9uRG9jSWQgZm9yIGVkZ2UgY3JlYXRpb24nKSwgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKCFncm91cERvY0lkIHx8IHR5cGVvZiBncm91cERvY0lkICE9PSAnc3RyaW5nJyB8fCAhZ3JvdXBEb2NJZC5zdGFydHNXaXRoKCdncm91cHMvJykpIHtcbiAgICAgICAgbG9nRXJyb3Ioe1xuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5JTlZBTElEX0lOUFVUXG4gICAgICAgIH0sIG5ldyBFcnJvcignSW52YWxpZCBvciBtaXNzaW5nIGdyb3VwRG9jSWQgZm9yIGVkZ2UgY3JlYXRpb24nKSwgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0YWdOYW1lcyA9IGV4dHJhY3RUYWdzKGRlc2NyaXB0aW9uKTtcbiAgICAgIHJldHVybiBnZXRUYWdMaXN0QnlOYW1lKGNvbnRleHQsIHRhZ05hbWVzKVxuICAgICAgICAudGhlbigocmVzb2x2ZWRUYWdzKSA9PiB1cGRhdGVUYWdzSW5JdGVtKGNvbnRleHQsIHtpdGVtRG9jSWQ6IGdyb3VwRG9jSWQsIHRhZ3M6IHJlc29sdmVkVGFnc30pKVxuICAgICAgICAudGhlbigoKSA9PiBjcmVhdGVHcm91cEVkZ2UoY29udGV4dCwgc2Vzc2lvbkRvY0lkLCBncm91cERvY0lkKVxuICAgICAgICAudGhlbigoKSA9PiBncm91cCkpO1xuICAgIH0pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlR3JvdXAgPSAoY29udGV4dDogQXBpQ29udGV4dCwgaXRlbTogR3JvdXBUeXBlKTogUHJvbWlzZTxHcm91cFR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ3VwZGF0ZSc7XG4gIGNvbnN0IHtcbiAgICBkZXNjcmlwdGlvbiA9ICcnLFxuICAgIGlkXG4gIH06IEdyb3VwVHlwZSA9IGl0ZW07XG4gIGNvbnN0IGl0ZW1JZCA9IHBhcnNlSWQoaWQpO1xuXG4gIHJldHVybiB1cGRhdGVJdGVtPEdyb3VwVHlwZT4oY29udGV4dCwgQ09MTEVDVElPTlMuR1JPVVBTLCBpdGVtSWQsIGJ1aWxkR3JvdXBNdXRhdGlvbihpdGVtKSlcbiAgICAudGhlbigoZ3JvdXA6IEdyb3VwVHlwZSkgPT4ge1xuICAgICAgY29uc3Qge19pZDogZ3JvdXBEb2NJZH0gPSBncm91cDtcblxuICAgICAgLy8gVXBkYXRlIGxpbmtlZCB0YWdzXG4gICAgICBjb25zdCB0YWdOYW1lcyA9IGV4dHJhY3RUYWdzKGRlc2NyaXB0aW9uKTtcbiAgICAgIHJldHVybiBnZXRUYWdMaXN0QnlOYW1lKGNvbnRleHQsIHRhZ05hbWVzKVxuICAgICAgICAudGhlbigocmVzb2x2ZWRUYWdzKSA9PiB1cGRhdGVUYWdzSW5JdGVtKGNvbnRleHQsIHtpdGVtRG9jSWQ6IGdyb3VwRG9jSWQsIHRhZ3M6IHJlc29sdmVkVGFnc30pKVxuICAgICAgICAudGhlbigoKSA9PiBncm91cCk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVHcm91cCA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBpdGVtSWQ6IHN0cmluZyk6IFByb21pc2U8R3JvdXBUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdkZWxldGUnO1xuICBjb25zdCBmb3JtYXRJdGVtSWQgPSBwYXJzZUlkKGl0ZW1JZCk7XG5cbiAgcmV0dXJuIGRlbGV0ZUl0ZW08R3JvdXBUeXBlPihjb250ZXh0LCBDT0xMRUNUSU9OUy5HUk9VUFMsIGZvcm1hdEl0ZW1JZClcbiAgICAudGhlbigoZ3JvdXApID0+IGdyb3VwIHx8ICh7X2tleTogZm9ybWF0SXRlbUlkfSBhcyBHcm91cFR5cGUpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEdyb3Vwc0J5UmVhY3Rpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCwgcmVhY3Rpb246IHN0cmluZyk6IFByb21pc2U8R3JvdXBUeXBlW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEdyb3Vwc0J5UmVhY3Rpb24nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdFJlYWN0aW9uID0gcGFyc2VDaGFyKHJlYWN0aW9uLCAzMik7XG4gIGNvbnN0IHVzZXJEb2NJZCA9IGB1c2Vycy8ke3Nlc3Npb25JZH1gO1xuXG4gIC8vIFF1ZXJ5XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHUsIHIgSU4gT1VUQk9VTkQgJHt1c2VyRG9jSWR9IGhhc1JlYWN0aW9uXG4gICAgICBGSUxURVIgci52YWx1ZSA9PSAke2Zvcm1hdFJlYWN0aW9ufVxuICAgICAgQ09MTEVDVCByZWFjdGlvbk5hbWUgPSByLnZhbHVlIElOVE8gcmVhY3Rpb25JdGVtc1xuICAgICAgUkVUVVJOIHt2YWx1ZTogcmVhY3Rpb25OYW1lLCBjb3VudDogTEVOR1RIKHJlYWN0aW9uSXRlbXNbKl0uci52YWx1ZSl9YDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzR3JvdXBlZCA9IChjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VySWQ6IHN0cmluZywgZ3JvdXBJZDogc3RyaW5nKTogUHJvbWlzZTxHcm91cFVzZXI+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2lzR3JvdXBlZCc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0VXNlcklkID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBmb3JtYXRHcm91cElkID0gcGFyc2VJZChncm91cElkKTtcblxuICAvLyBDb21wbGV4IGVkZ2UgdHJhdmVyc2FsIHRvIGNoZWNrIGdyb3VwIG1lbWJlcnNoaXAgLSBrZWVwIGN1c3RvbSBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBnIElOICR7Z3JvdXBzQ29sbGVjdGlvbn1cbiAgICBGSUxURVIgZy5fa2V5ID09ICR7Zm9ybWF0R3JvdXBJZH1cbiAgICBGT1IgdSBJTiBJTkJPVU5EIGcuX2lkICR7aGFzQ29ubmVjdGlvbkNvbGxlY3Rpb259XG4gICAgRklMVEVSIHUuX2tleSA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLnRoZW4oKHJlc3VsdHMgPSBbXSkgPT4ge1xuICAgICAgY29uc3QgaXNWYWxpZCA9ICEhcmVzdWx0cy5sZW5ndGg7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGdyb3VwSWQsXG4gICAgICAgIGlzVmFsaWQsXG4gICAgICAgIHVzZXJJZFxuICAgICAgfTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIHtzZXNzaW9uOiB7dXNlcklkfX0pLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcbiJdLCJuYW1lcyI6WyJmbGF0dGVuIiwidW5pcUJ5IiwiY3JlYXRlSGFzaCIsInBhcnNlQXJhbmdvSWQiLCJwYXJzZUNoYXIiLCJwYXJzZUlkIiwiYXFsIiwibGl0ZXJhbCIsIkNPTExFQ1RJT05TIiwiRURHRVMiLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJ1c2VEYiIsImFkZEl0ZW0iLCJkZWxldGVJdGVtIiwiZ2V0SXRlbUJ5IiwidXBkYXRlSXRlbSIsImV4dHJhY3RUYWdzIiwiZ2V0VGFnTGlzdEJ5TmFtZSIsInVwZGF0ZVRhZ3NJbkl0ZW0iLCJldmVudENhdGVnb3J5IiwiZ3JvdXBzQ29sbGVjdGlvbiIsIkdST1VQUyIsInVzZXJzQ29sbGVjdGlvbiIsIlVTRVJTIiwiaGFzQ29ubmVjdGlvbkNvbGxlY3Rpb24iLCJIQVNfQ09OTkVDVElPTiIsImlzVGFnZ2VkQ29sbGVjdGlvbiIsIklTX1RBR0dFRCIsImdldEdyb3VwTGlzdEJ5QXBwIiwiY29udGV4dCIsImZyb20iLCJ0byIsImFjdGlvbiIsImRhdGFiYXNlTmFtZSIsImFxbFFyeSIsInVuZGVmaW5lZCIsInF1ZXJ5IiwidGhlbiIsImN1cnNvciIsImFsbCIsImNhdGNoIiwiZXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwiREFUQUJBU0VfRVJST1IiLCJnZXRHcm91cExpc3RCeVVzZXIiLCJ1c2VySWQiLCJnZXRHcm91cExpc3RCeVRhZ3MiLCJ0YWdOYW1lcyIsIlByb21pc2UiLCJtYXAiLCJ0YWdOYW1lIiwiZm9ybWF0VGFnTmFtZSIsImxpbWl0Q2xhdXNlIiwicmVzdWx0cyIsIml0ZW0iLCJfa2V5IiwiZ2V0R3JvdXBCeUlkIiwiaXRlbUlkIiwic2Vzc2lvbiIsInNlc3Npb25JZCIsImZvcm1hdEl0ZW1JZCIsIm5leHQiLCJncm91cCIsImdldEdyb3VwRGV0YWlscyIsImdyb3VwSWQiLCJmb3JtYXRHcm91cElkIiwiY3JlYXRlR3JvdXBFZGdlIiwidXNlckRvY0lkIiwiZ3JvdXBEb2NJZCIsImZvcm1hdFVzZURvY0lkIiwiZm9ybWF0R3JvdXBEb2NJZCIsIm5vdyIsIkRhdGUiLCJlZGdlQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iLCJlZGdlSWQiLCJlZGdlIiwiX2Zyb20iLCJfdG8iLCJhZGRlZCIsInR5cGUiLCJzYXZlIiwicmV0dXJuTmV3IiwiYnVpbGRHcm91cE11dGF0aW9uIiwiZGVzY3JpcHRpb24iLCJuYW1lIiwic3Vic3RyaW5nIiwiYWRkR3JvdXAiLCJzZXNzaW9uRG9jSWQiLCJpZCIsImluc2VydCIsIl9pZCIsInN0YXJ0c1dpdGgiLCJJTlZBTElEX0lOUFVUIiwiRXJyb3IiLCJyZXNvbHZlZFRhZ3MiLCJpdGVtRG9jSWQiLCJ0YWdzIiwidXBkYXRlR3JvdXAiLCJkZWxldGVHcm91cCIsImdldEdyb3Vwc0J5UmVhY3Rpb24iLCJyZWFjdGlvbiIsImZvcm1hdFJlYWN0aW9uIiwiaXNHcm91cGVkIiwiZm9ybWF0VXNlcklkIiwiaXNWYWxpZCIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsT0FBTyxRQUFPLDhCQUE4QjtBQUNwRCxTQUFRQyxNQUFNLFFBQU8sMkJBQTJCO0FBQ2hELFNBQVFDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sUUFBTywrQkFBK0I7QUFDM0YsU0FBUUMsR0FBRyxRQUFPLFdBQVc7QUFDN0IsU0FBa0JDLE9BQU8sUUFBTyxlQUFlO0FBRS9DLFNBQVFDLFdBQVcsRUFBRUMsS0FBSyxRQUFPLDhCQUE4QjtBQUMvRCxTQUFRQyxVQUFVLFFBQU8sMEJBQTBCO0FBQ25ELFNBQVFDLFFBQVEsUUFBTyw2QkFBNkI7QUFDcEQsU0FBUUMsS0FBSyxRQUFPLDRCQUE0QjtBQUNoRCxTQUFRQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsU0FBUyxFQUFFQyxVQUFVLFFBQU8sWUFBWTtBQUNyRSxTQUFRQyxXQUFXLEVBQUVDLGdCQUFnQixFQUFFQyxnQkFBZ0IsUUFBTyxZQUFZO0FBTTFFLE1BQU1DLGdCQUFnQjtBQUN0QixNQUFNQyxtQkFBbUJkLFFBQVFDLFlBQVljLE1BQU07QUFDbkQsTUFBTUMsa0JBQWtCaEIsUUFBUUMsWUFBWWdCLEtBQUs7QUFDakQsTUFBTUMsMEJBQTBCbEIsUUFBUUUsTUFBTWlCLGNBQWM7QUFDNUQsTUFBTUMscUJBQXFCcEIsUUFBUUUsTUFBTW1CLFNBQVM7QUFFbEQ7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyxvQkFBb0IsQ0FBQ0MsU0FBcUJDLE1BQWVDO0lBQ3BFLE1BQU1DLFNBQVM7SUFDZixNQUFNLEVBQUNDLFlBQVksRUFBQyxHQUFHSjtJQUV2Qiw0REFBNEQ7SUFDNUQsTUFBTUssU0FBbUI3QixHQUFHLENBQUM7YUFDbEIsRUFBRWUsaUJBQWlCOzttQ0FFRyxFQUFFSSx3QkFBd0I7OztNQUd2RCxFQUFFTSxTQUFTSyxhQUFhSixPQUFPSSxZQUFZN0IsUUFBUSxDQUFDLE1BQU0sRUFBRXdCLEtBQUssRUFBRSxFQUFFQyxLQUFLRCxNQUFNLElBQUl4QixRQUFRLElBQUk7OztFQUdwRyxDQUFDO0lBRUQsT0FBT0ssTUFBTXNCLGNBQWNHLEtBQUssQ0FBQ0YsUUFDOUJHLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPQyxHQUFHLElBQzNCQyxLQUFLLENBQUMsQ0FBQ0M7UUFDTi9CLFNBQVM7WUFDUHNCO1lBQ0FVLFVBQVV2QjtZQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1FBQ2xDLEdBQUdILE9BQU9aLFNBQVNRLElBQUksQ0FBQyxJQUFNO1FBRTlCLE9BQU8sRUFBRTtJQUNYO0FBQ0osRUFBRTtBQUVGLE9BQU8sTUFBTVEscUJBQXFCLENBQ2hDaEIsU0FDQWlCLFFBQ0FoQixNQUNBQztJQUVBLE1BQU1DLFNBQVM7SUFDZixNQUFNLEVBQUNDLFlBQVksRUFBQyxHQUFHSjtJQUV2QixnRkFBZ0Y7SUFDaEYsTUFBTUssU0FBbUI3QixHQUFHLENBQUM7d0JBQ1AsRUFBRSxDQUFDLE1BQU0sRUFBRXlDLFFBQVEsQ0FBQyxDQUFDLEVBQUV0Qix3QkFBd0I7O21DQUVwQyxFQUFFQSx3QkFBd0I7OztNQUd2RCxFQUFFTSxTQUFTSyxhQUFhSixPQUFPSSxZQUFZN0IsUUFBUSxDQUFDLE1BQU0sRUFBRXdCLEtBQUssRUFBRSxFQUFFQyxLQUFLRCxNQUFNLElBQUl4QixRQUFRLElBQUk7OztFQUdwRyxDQUFDO0lBRUQsT0FBT0ssTUFBTXNCLGNBQWNHLEtBQUssQ0FBQ0YsUUFDOUJHLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPQyxHQUFHLElBQzNCQyxLQUFLLENBQUMsQ0FBQ0M7UUFDTi9CLFNBQVM7WUFDUHNCO1lBQ0FVLFVBQVV2QjtZQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1FBQ2xDLEdBQUdILE9BQU9aLFNBQVNRLElBQUksQ0FBQyxJQUFNO1FBRTlCLE9BQU8sRUFBRTtJQUNYO0FBQ0osRUFBRTtBQUVGLE9BQU8sTUFBTVUscUJBQXFCLENBQ2hDbEIsU0FDQW1CLFVBQ0FsQixNQUNBQztJQUVBLE1BQU1DLFNBQVM7SUFDZixNQUFNLEVBQUNDLFlBQVksRUFBQyxHQUFHSjtJQUV2QiwyRUFBMkU7SUFDM0UsT0FBT29CLFFBQVFWLEdBQUcsQ0FDaEJTLFNBQVNFLEdBQUcsQ0FBQyxDQUFDQztRQUNaLE1BQU1DLGdCQUFnQmhELFFBQVErQztRQUM5QixNQUFNRSxjQUFjdkIsU0FBU0ssYUFBYUosT0FBT0ksWUFBWSxDQUFDLE1BQU0sRUFBRUwsS0FBSyxFQUFFLEVBQUVDLEtBQUtELE1BQU0sR0FBRztRQUM3RixNQUFNSSxTQUFtQjdCLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssRUFBRStDLGVBQWUsQ0FBQyxDQUFDLEVBQUUxQixtQkFBbUI7bUJBQ3JGLEVBQUVKLGdCQUFnQjs7Ozs7Ozs7Ozs7O1VBWTNCLEVBQUVoQixRQUFRK0MsYUFBYTs7NEZBRTJELENBQUM7UUFFdkYsT0FBTzFDLE1BQU1zQixjQUFjRyxLQUFLLENBQUNGLFFBQVFHLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPQyxHQUFHLElBQ2pFQyxLQUFLLENBQUMsQ0FBQ0M7WUFDTi9CLFNBQVM7Z0JBQ1BzQjtnQkFDQVUsVUFBVXZCO2dCQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1lBQ2xDLEdBQUdILE9BQU9aLFNBQVNRLElBQUksQ0FBQyxJQUFNO1lBRTlCLE9BQU8sRUFBRTtRQUNYO0lBQ0osSUFFQ0EsSUFBSSxDQUFDLENBQUNpQixVQUFZdEQsT0FBT0QsUUFBUXVELFVBQVUsQ0FBQ0MsT0FBY0EsS0FBS0MsSUFBSSxHQUNuRWhCLEtBQUssQ0FBQyxDQUFDQyxRQUFpQi9CLFNBQVM7WUFDaENzQjtZQUNBVSxVQUFVdkI7WUFDVndCLE9BQU9sQyxXQUFXbUMsY0FBYztRQUNsQyxHQUFHSCxPQUFPWixTQUFTUSxJQUFJLENBQUMsSUFBTTtBQUNsQyxFQUFFO0FBRUYsT0FBTyxNQUFNb0IsZUFBZSxDQUFDNUIsU0FBcUI2QjtJQUNoRCxNQUFNMUIsU0FBUztJQUNmLE1BQU0sRUFBQ0MsWUFBWSxFQUFFMEIsT0FBTyxFQUFDLEdBQUc5QjtJQUNoQyxNQUFNK0IsWUFBWUQsU0FBU2IsVUFBVTtJQUNyQyxNQUFNZSxlQUFlekQsUUFBUXNEO0lBRTdCLGdGQUFnRjtJQUNoRixNQUFNeEIsU0FBbUI3QixHQUFHLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLEVBQUV1RCxXQUFXLENBQUM7dUJBQ3BELEVBQUVDLGFBQWE7Ozs7Ozs2Q0FNTyxDQUFDO0lBRTVDLE9BQU9sRCxNQUFNc0IsY0FBY0csS0FBSyxDQUFDRixRQUM5QkcsSUFBSSxDQUFDLENBQUNDLFNBQVdBLE9BQU93QixJQUFJLElBQzVCekIsSUFBSSxDQUFDLENBQUMwQixRQUFxQkEsT0FDM0J2QixLQUFLLENBQUMsQ0FBQ0MsUUFBaUIvQixTQUFTO1lBQ2hDc0I7WUFDQVUsVUFBVXZCO1lBQ1Z3QixPQUFPbEMsV0FBV21DLGNBQWM7UUFDbEMsR0FBR0gsT0FBT1osU0FBU1EsSUFBSSxDQUFDLElBQU07QUFDbEMsRUFBRTtBQUVGLE9BQU8sTUFBTTJCLGtCQUFrQixDQUFDbkMsU0FBcUJvQztJQUNuRCxNQUFNQyxnQkFBZ0I5RCxRQUFRNkQ7SUFDOUIsT0FBT25ELFVBQXFCZSxTQUFTdEIsWUFBWWMsTUFBTSxFQUFFO1FBQUNtQyxNQUFNVTtJQUFhO0FBQy9FLEVBQUU7QUFFRixPQUFPLE1BQU1DLGtCQUFrQixDQUM3QnRDLFNBQ0F1QyxXQUNBQztJQUVBLE1BQU1yQyxTQUFTO0lBQ2YsTUFBTSxFQUFDQyxZQUFZLEVBQUMsR0FBR0o7SUFDdkIsTUFBTXlDLGlCQUFpQnBFLGNBQWNrRTtJQUNyQyxNQUFNRyxtQkFBbUJyRSxjQUFjbUU7SUFFdkMsTUFBTUcsTUFBTUMsS0FBS0QsR0FBRztJQUNwQixNQUFNRSxpQkFBaUMvRCxNQUFNc0IsY0FBYzBDLFVBQVUsQ0FBQztJQUN0RSxNQUFNQyxTQUFTM0UsV0FBVyxDQUFDLE1BQU0sRUFBRXFFLGVBQWUsQ0FBQyxFQUFFQyxrQkFBa0I7SUFDdkUsTUFBTU0sT0FBWTtRQUNoQkMsT0FBT1I7UUFDUGQsTUFBTW9CO1FBQ05HLEtBQUtSO1FBQ0xTLE9BQU9SO1FBQ1BTLE1BQU07SUFDUjtJQUVBLE9BQU9QLGVBQWVRLElBQUksQ0FBQ0wsTUFBTTtRQUFDTSxXQUFXO0lBQUksR0FDOUMzQyxLQUFLLENBQUMsQ0FBQ0MsUUFBaUIvQixTQUFTO1lBQ2hDc0I7WUFDQVUsVUFBVXZCO1lBQ1Z3QixPQUFPbEMsV0FBV21DLGNBQWM7UUFDbEMsR0FBR0gsT0FBTztZQUFDa0IsU0FBUztnQkFBQ2IsUUFBUXdCO1lBQWM7UUFBQyxHQUFHakMsSUFBSSxDQUFDLElBQU07QUFDOUQsRUFBRTtBQUVGLE1BQU0rQyxxQkFBcUIsQ0FBQyxFQUFDQyxjQUFjLEVBQUUsRUFBRUMsT0FBTyxVQUFVLEVBQUVMLElBQUksRUFBWSxHQUEwQixDQUFBO1FBQzFHSSxhQUFhQSxZQUFZRSxTQUFTLENBQUMsR0FBRztRQUN0Q0Q7UUFDQUwsTUFBTTlFLFVBQVU4RSxNQUFNLE9BQU87SUFDL0IsQ0FBQTtBQUVBLE9BQU8sTUFBTU8sV0FBVyxDQUFDM0QsU0FBcUIwQjtJQUM1QyxNQUFNdkIsU0FBUztJQUNmLE1BQU0sRUFBQzJCLFNBQVMsRUFBQ2IsUUFBUWMsU0FBUyxFQUFDLEVBQUMsR0FBRy9CO0lBQ3ZDLE1BQU00RCxlQUFlLEdBQUdsRixZQUFZZ0IsS0FBSyxDQUFDLENBQUMsRUFBRXFDLFdBQVc7SUFDeEQsTUFBTSxFQUFDeUIsY0FBYyxFQUFFLEVBQUMsR0FBYzlCO0lBQ3RDLE1BQU1tQyxLQUFLekYsV0FBVyxDQUFDLE1BQU0sRUFBRTJELFdBQVc7SUFDMUMsTUFBTStCLFNBQW9CO1FBQ3hCbkMsTUFBTWtDO1FBQ04sR0FBR04sbUJBQW1CN0IsS0FBSztJQUM3QjtJQUVBLE9BQU8zQyxRQUFtQmlCLFNBQVN0QixZQUFZYyxNQUFNLEVBQUVzRSxRQUNwRHRELElBQUksQ0FBQyxDQUFDMEI7UUFDTCxxQkFBcUI7UUFDckIsTUFBTSxFQUFDNkIsS0FBS3ZCLFVBQVUsRUFBQyxHQUFjTjtRQUVyQyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDMEIsZ0JBQWdCLE9BQU9BLGlCQUFpQixZQUFZLENBQUNBLGFBQWFJLFVBQVUsQ0FBQyxXQUFXO1lBQzNGbkYsU0FBUztnQkFDUHNCO2dCQUNBVSxVQUFVdkI7Z0JBQ1Z3QixPQUFPbEMsV0FBV3FGLGFBQWE7WUFDakMsR0FBRyxJQUFJQyxNQUFNLHNEQUFzRGxFO1lBQ25FLE9BQU87UUFDVDtRQUNBLElBQUksQ0FBQ3dDLGNBQWMsT0FBT0EsZUFBZSxZQUFZLENBQUNBLFdBQVd3QixVQUFVLENBQUMsWUFBWTtZQUN0Rm5GLFNBQVM7Z0JBQ1BzQjtnQkFDQVUsVUFBVXZCO2dCQUNWd0IsT0FBT2xDLFdBQVdxRixhQUFhO1lBQ2pDLEdBQUcsSUFBSUMsTUFBTSxvREFBb0RsRTtZQUNqRSxPQUFPO1FBQ1Q7UUFFQSxNQUFNbUIsV0FBV2hDLFlBQVlxRTtRQUM3QixPQUFPcEUsaUJBQWlCWSxTQUFTbUIsVUFDOUJYLElBQUksQ0FBQyxDQUFDMkQsZUFBaUI5RSxpQkFBaUJXLFNBQVM7Z0JBQUNvRSxXQUFXNUI7Z0JBQVk2QixNQUFNRjtZQUFZLElBQzNGM0QsSUFBSSxDQUFDLElBQU04QixnQkFBZ0J0QyxTQUFTNEQsY0FBY3BCLFlBQ2xEaEMsSUFBSSxDQUFDLElBQU0wQjtJQUNoQixHQUNDdkIsS0FBSyxDQUFDLENBQUNDLFFBQWlCL0IsU0FBUztZQUNoQ3NCO1lBQ0FVLFVBQVV2QjtZQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1FBQ2xDLEdBQUdILE9BQU9aLFNBQVNRLElBQUksQ0FBQyxJQUFNO0FBQ2xDLEVBQUU7QUFFRixPQUFPLE1BQU04RCxjQUFjLENBQUN0RSxTQUFxQjBCO0lBQy9DLE1BQU12QixTQUFTO0lBQ2YsTUFBTSxFQUNKcUQsY0FBYyxFQUFFLEVBQ2hCSyxFQUFFLEVBQ0gsR0FBY25DO0lBQ2YsTUFBTUcsU0FBU3RELFFBQVFzRjtJQUV2QixPQUFPM0UsV0FBc0JjLFNBQVN0QixZQUFZYyxNQUFNLEVBQUVxQyxRQUFRMEIsbUJBQW1CN0IsT0FDbEZsQixJQUFJLENBQUMsQ0FBQzBCO1FBQ0wsTUFBTSxFQUFDNkIsS0FBS3ZCLFVBQVUsRUFBQyxHQUFHTjtRQUUxQixxQkFBcUI7UUFDckIsTUFBTWYsV0FBV2hDLFlBQVlxRTtRQUM3QixPQUFPcEUsaUJBQWlCWSxTQUFTbUIsVUFDOUJYLElBQUksQ0FBQyxDQUFDMkQsZUFBaUI5RSxpQkFBaUJXLFNBQVM7Z0JBQUNvRSxXQUFXNUI7Z0JBQVk2QixNQUFNRjtZQUFZLElBQzNGM0QsSUFBSSxDQUFDLElBQU0wQjtJQUNoQixHQUNDdkIsS0FBSyxDQUFDLENBQUNDLFFBQWlCL0IsU0FBUztZQUNoQ3NCO1lBQ0FVLFVBQVV2QjtZQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1FBQ2xDLEdBQUdILE9BQU9aLFNBQVNRLElBQUksQ0FBQyxJQUFNO0FBQ2xDLEVBQUU7QUFFRixPQUFPLE1BQU0rRCxjQUFjLENBQUN2RSxTQUFxQjZCO0lBQy9DLE1BQU0xQixTQUFTO0lBQ2YsTUFBTTZCLGVBQWV6RCxRQUFRc0Q7SUFFN0IsT0FBTzdDLFdBQXNCZ0IsU0FBU3RCLFlBQVljLE1BQU0sRUFBRXdDLGNBQ3ZEeEIsSUFBSSxDQUFDLENBQUMwQixRQUFVQSxTQUFVO1lBQUNQLE1BQU1LO1FBQVksR0FDN0NyQixLQUFLLENBQUMsQ0FBQ0MsUUFBaUIvQixTQUFTO1lBQ2hDc0I7WUFDQVUsVUFBVXZCO1lBQ1Z3QixPQUFPbEMsV0FBV21DLGNBQWM7UUFDbEMsR0FBR0gsT0FBT1osU0FBU1EsSUFBSSxDQUFDLElBQU07QUFDbEMsRUFBRTtBQUVGLE9BQU8sTUFBTWdFLHNCQUFzQixDQUFDeEUsU0FBcUJ5RTtJQUN2RCxNQUFNdEUsU0FBUztJQUNmLE1BQU0sRUFBQ0MsWUFBWSxFQUFFMEIsU0FBUyxFQUFDYixRQUFRYyxTQUFTLEVBQUMsRUFBQyxHQUFHL0I7SUFDckQsTUFBTTBFLGlCQUFpQnBHLFVBQVVtRyxVQUFVO0lBQzNDLE1BQU1sQyxZQUFZLENBQUMsTUFBTSxFQUFFUixXQUFXO0lBRXRDLFFBQVE7SUFDUixNQUFNMUIsU0FBbUI3QixHQUFHLENBQUMscUJBQXFCLEVBQUUrRCxVQUFVO3dCQUN4QyxFQUFFbUMsZUFBZTs7MkVBRWtDLENBQUM7SUFFMUUsT0FBTzVGLE1BQU1zQixjQUFjRyxLQUFLLENBQUNGLFFBQzlCRyxJQUFJLENBQUMsQ0FBQ0MsU0FBV0EsT0FBT0MsR0FBRyxJQUMzQkMsS0FBSyxDQUFDLENBQUNDLFFBQWlCL0IsU0FBUztZQUNoQ3NCO1lBQ0FVLFVBQVV2QjtZQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1FBQ2xDLEdBQUdILE9BQU9aLFNBQVNRLElBQUksQ0FBQyxJQUFNO0FBQ2xDLEVBQUU7QUFFRixPQUFPLE1BQU1tRSxZQUFZLENBQUMzRSxTQUFxQmlCLFFBQWdCbUI7SUFDN0QsTUFBTWpDLFNBQVM7SUFDZixNQUFNLEVBQUNDLFlBQVksRUFBQyxHQUFHSjtJQUN2QixNQUFNNEUsZUFBZXJHLFFBQVEwQztJQUM3QixNQUFNb0IsZ0JBQWdCOUQsUUFBUTZEO0lBRTlCLGdGQUFnRjtJQUNoRixNQUFNL0IsU0FBbUI3QixHQUFHLENBQUMsU0FBUyxFQUFFZSxpQkFBaUI7cUJBQ3RDLEVBQUU4QyxjQUFjOzJCQUNWLEVBQUUxQyx3QkFBd0I7cUJBQ2hDLEVBQUVpRixhQUFhOztZQUV4QixDQUFDO0lBRVgsT0FBTzlGLE1BQU1zQixjQUFjRyxLQUFLLENBQUNGLFFBQzlCRyxJQUFJLENBQUMsQ0FBQ0MsU0FBV0EsT0FBT0MsR0FBRyxJQUMzQkYsSUFBSSxDQUFDLENBQUNpQixVQUFVLEVBQUU7UUFDakIsTUFBTW9ELFVBQVUsQ0FBQyxDQUFDcEQsUUFBUXFELE1BQU07UUFFaEMsT0FBTztZQUNMMUM7WUFDQXlDO1lBQ0E1RDtRQUNGO0lBQ0YsR0FDQ04sS0FBSyxDQUFDLENBQUNDLFFBQWlCL0IsU0FBUztZQUNoQ3NCO1lBQ0FVLFVBQVV2QjtZQUNWd0IsT0FBT2xDLFdBQVdtQyxjQUFjO1FBQ2xDLEdBQUdILE9BQU87WUFBQ2tCLFNBQVM7Z0JBQUNiO1lBQU07UUFBQyxHQUFHVCxJQUFJLENBQUMsSUFBTTtBQUM5QyxFQUFFIn0=
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9wcml2YXRlL3RtcC92YXVsdC1yZWFrdG9yLWNvbXBsZXRpb24vcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9ncm91cHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7ZmxhdHRlbn0gZnJvbSAnQG5sYWJzL3V0aWxzL2FycmF5cy9mbGF0dGVuJztcbmltcG9ydCB7dW5pcUJ5fSBmcm9tICdAbmxhYnMvdXRpbHMvYXJyYXlzL3VuaXEnO1xuaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUFyYW5nb0lkLCBwYXJzZUNoYXIsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnksIGxpdGVyYWx9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5cbmltcG9ydCB7Q09MTEVDVElPTlMsIEVER0VTfSBmcm9tICcuLi9jb25zdGFudHMvY29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHtFcnJvclR5cGVzfSBmcm9tICcuLi90eXBlcy9lcnJvci50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7YWRkSXRlbSwgZGVsZXRlSXRlbSwgZ2V0SXRlbUJ5LCB1cGRhdGVJdGVtfSBmcm9tICcuL2NydWQuanMnO1xuaW1wb3J0IHtleHRyYWN0VGFncywgZ2V0VGFnTGlzdEJ5TmFtZSwgdXBkYXRlVGFnc0luSXRlbX0gZnJvbSAnLi90YWdzLmpzJztcblxuaW1wb3J0IHR5cGUge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7R3JvdXBFZGdlVHlwZSwgR3JvdXBUeXBlLCBHcm91cFVzZXJ9IGZyb20gJy4uL3R5cGVzL2dyb3Vwcy50eXBlcy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnkgPSAnZ3JvdXBzJztcbmNvbnN0IGdyb3Vwc0NvbGxlY3Rpb24gPSBsaXRlcmFsKENPTExFQ1RJT05TLkdST1VQUyk7XG5jb25zdCB1c2Vyc0NvbGxlY3Rpb24gPSBsaXRlcmFsKENPTExFQ1RJT05TLlVTRVJTKTtcbmNvbnN0IGhhc0Nvbm5lY3Rpb25Db2xsZWN0aW9uID0gbGl0ZXJhbChFREdFUy5IQVNfQ09OTkVDVElPTik7XG5jb25zdCBpc1RhZ2dlZENvbGxlY3Rpb24gPSBsaXRlcmFsKEVER0VTLklTX1RBR0dFRCk7XG5cbi8qKlxuICogR2V0IGFsbCBncm91cHMgZm9yIHRoZSBhcHAgd2l0aCB0aGVpciB1c2Vyc1xuICogTm90ZTogVXNlcyBjdXN0b20gcXVlcnkgZm9yIGVkZ2UgdHJhdmVyc2FsIHRvIGluY2x1ZGUgdXNlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEdyb3VwTGlzdEJ5QXBwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyKTogUHJvbWlzZTxHcm91cFR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnZ2V0R3JvdXBMaXN0QnlBcHAnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG5cbiAgLy8gQ29tcGxleCBlZGdlIHRyYXZlcnNhbCBxdWVyeSAtIGtlZXAgY3VzdG9tIGltcGxlbWVudGF0aW9uXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgXG4gICAgRk9SIGcgSU4gJHtncm91cHNDb2xsZWN0aW9ufVxuICAgICAgTEVUIHVzZXJzID0gKFxuICAgICAgICBGT1IgdSwgbCBJTiBPVVRCT1VORCBnLl9pZCAke2hhc0Nvbm5lY3Rpb25Db2xsZWN0aW9ufVxuICAgICAgICBSRVRVUk4gTUVSR0UodSwge3R5cGU6IGwudHlwZX0pXG4gICAgICApXG4gICAgICAke2Zyb20gIT09IHVuZGVmaW5lZCAmJiB0byAhPT0gdW5kZWZpbmVkID8gbGl0ZXJhbChgTElNSVQgJHtmcm9tfSwgJHt0byAtIGZyb219YCkgOiBsaXRlcmFsKCcnKX1cbiAgICAgIFNPUlQgZy5hZGRlZFxuICAgICAgUkVUVVJOIERJU1RJTkNUIE1FUkdFKGcsIHt1c2Vyc30pXG4gIGA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgbG9nRXJyb3Ioe1xuICAgICAgICBhY3Rpb24sXG4gICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCk7XG5cbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cExpc3RCeVVzZXIgPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHVzZXJJZDogc3RyaW5nLFxuICBmcm9tOiBudW1iZXIsXG4gIHRvOiBudW1iZXJcbik6IFByb21pc2U8R3JvdXBUeXBlW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEdyb3VwTGlzdEJ5VXNlcic7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcblxuICAvLyBDb21wbGV4IGVkZ2UgdHJhdmVyc2FsIHF1ZXJ5IHdpdGggdXNlciBmaWx0ZXJpbmcgLSBrZWVwIGN1c3RvbSBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFxuICAgIEZPUiBnLCBlIElOIElOQk9VTkQgJHtgdXNlcnMvJHt1c2VySWR9YH0gJHtoYXNDb25uZWN0aW9uQ29sbGVjdGlvbn1cbiAgICAgIExFVCB1c2VycyA9IChcbiAgICAgICAgRk9SIHUsIGwgSU4gT1VUQk9VTkQgZy5faWQgJHtoYXNDb25uZWN0aW9uQ29sbGVjdGlvbn1cbiAgICAgICAgUkVUVVJOIE1FUkdFKHUsIHt0eXBlOiBsLnR5cGV9KVxuICAgICAgKVxuICAgICAgJHtmcm9tICE9PSB1bmRlZmluZWQgJiYgdG8gIT09IHVuZGVmaW5lZCA/IGxpdGVyYWwoYExJTUlUICR7ZnJvbX0sICR7dG8gLSBmcm9tfWApIDogbGl0ZXJhbCgnJyl9XG4gICAgICBTT1JUIGcuYWRkZWRcbiAgICAgIFJFVFVSTiBESVNUSU5DVCBNRVJHRShnLCB7dXNlcnN9KVxuICBgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuXG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBMaXN0QnlUYWdzID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICB0YWdOYW1lczogc3RyaW5nW10sXG4gIGZyb206IG51bWJlcixcbiAgdG86IG51bWJlclxuKTogUHJvbWlzZTxHcm91cFR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnZ2V0TGlzdEJ5VGFncyc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcblxuICAvLyBDb21wbGV4IG11bHRpLXRhZyBxdWVyeSB3aXRoIGVkZ2UgdHJhdmVyc2FsIC0ga2VlcCBjdXN0b20gaW1wbGVtZW50YXRpb25cbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIHRhZ05hbWVzLm1hcCgodGFnTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXRUYWdOYW1lID0gcGFyc2VJZCh0YWdOYW1lKTtcbiAgICAgIGNvbnN0IGxpbWl0Q2xhdXNlID0gZnJvbSAhPT0gdW5kZWZpbmVkICYmIHRvICE9PSB1bmRlZmluZWQgPyBgTElNSVQgJHtmcm9tfSwgJHt0byAtIGZyb219YCA6ICcnO1xuICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgcCwgZSBJTiBPVVRCT1VORCAke2B0YWdzLyR7Zm9ybWF0VGFnTmFtZX1gfSAke2lzVGFnZ2VkQ29sbGVjdGlvbn1cbiAgICAgICAgICBGT1IgdSBJTiAke3VzZXJzQ29sbGVjdGlvbn1cbiAgICAgICAgICBMRVQgbGlrZXMgPSAoXG4gICAgICAgICAgICBGT1IgcG9zdCwgbGlrZSBJTiBJTkJPVU5EIHAuX2lkIGxpa2VzXG4gICAgICAgICAgICBGSUxURVIgbGlrZS52YWx1ZSA9PSAnbGlrZSdcbiAgICAgICAgICAgIFJFVFVSTiBsaWtlXG4gICAgICAgICAgKVxuICAgICAgICAgIExFVCBkaXNsaWtlcyA9IChcbiAgICAgICAgICAgIEZPUiBwb3N0LCBsaWtlIElOIElOQk9VTkQgcC5faWQgbGlrZXNcbiAgICAgICAgICAgIEZJTFRFUiBsaWtlLnZhbHVlID09ICdkaXNsaWtlJ1xuICAgICAgICAgICAgUkVUVVJOIGxpa2VcbiAgICAgICAgICApXG4gICAgICAgICAgRklMVEVSIGUudHlwZSA9PSAncG9zdCcgJiYgcC51c2VySWQgPT0gdS5fa2V5XG4gICAgICAgICAgJHtsaXRlcmFsKGxpbWl0Q2xhdXNlKX1cbiAgICAgICAgICBTT1JUIHAuYWRkZWRcbiAgICAgICAgICBSRVRVUk4gRElTVElOQ1QgTUVSR0UocCwge3VzZXI6dSwgbGlrZXM6TEVOR1RIKGxpa2VzKSwgZGlzbGlrZXM6TEVOR1RIKGRpc2xpa2VzKX0pYDtcblxuICAgICAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KS50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICBsb2dFcnJvcih7XG4gICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgICAgICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCk7XG5cbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH0pO1xuICAgIH0pXG4gIClcbiAgICAudGhlbigocmVzdWx0cykgPT4gdW5pcUJ5KGZsYXR0ZW4ocmVzdWx0cyksIChpdGVtOiBhbnkpID0+IGl0ZW0uX2tleSkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R3JvdXBCeUlkID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGl0ZW1JZDogc3RyaW5nKTogUHJvbWlzZTxHcm91cFR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9ufSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25JZCA9IHNlc3Npb24/LnVzZXJJZCB8fCAnJztcbiAgY29uc3QgZm9ybWF0SXRlbUlkID0gcGFyc2VJZChpdGVtSWQpO1xuXG4gIC8vIENvbXBsZXggZWRnZSB0cmF2ZXJzYWwgd2l0aCB1c2VyIG93bmVyc2hpcCBjaGVjayAtIGtlZXAgY3VzdG9tIGltcGxlbWVudGF0aW9uXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIGcsIGUgSU4gT1VUQk9VTkQgJHtgdXNlcnMvJHtzZXNzaW9uSWR9YH0gaGFzQ29ubmVjdGlvblxuICAgICAgRklMVEVSIGcuX2tleSA9PSAke2Zvcm1hdEl0ZW1JZH1cbiAgICAgIExFVCB1c2VycyA9IChcbiAgICAgICAgRk9SIHUsIGwgSU4gT1VUQk9VTkQgZy5faWQgaGFzQ29ubmVjdGlvblxuICAgICAgICBSRVRVUk4gTUVSR0UgKHUsIHt0eXBlOmwudHlwZX0pXG4gICAgICApXG4gICAgICBMSU1JVCAxXG4gICAgICBSRVRVUk4gRElTVElOQ1QgTUVSR0UoZywge3VzZXJzOnVzZXJzfSlgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChncm91cDogR3JvdXBUeXBlKSA9PiBncm91cClcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cERldGFpbHMgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZ3JvdXBJZDogc3RyaW5nKTogUHJvbWlzZTxHcm91cFR5cGU+ID0+IHtcbiAgY29uc3QgZm9ybWF0R3JvdXBJZCA9IHBhcnNlSWQoZ3JvdXBJZCk7XG4gIHJldHVybiBnZXRJdGVtQnk8R3JvdXBUeXBlPihjb250ZXh0LCBDT0xMRUNUSU9OUy5HUk9VUFMsIHtfa2V5OiBmb3JtYXRHcm91cElkfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlR3JvdXBFZGdlID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICB1c2VyRG9jSWQ6IHN0cmluZyxcbiAgZ3JvdXBEb2NJZDogc3RyaW5nXG4pOiBQcm9taXNlPEdyb3VwRWRnZVR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2NyZWF0ZUdyb3VwRWRnZSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0VXNlRG9jSWQgPSBwYXJzZUFyYW5nb0lkKHVzZXJEb2NJZCk7XG4gIGNvbnN0IGZvcm1hdEdyb3VwRG9jSWQgPSBwYXJzZUFyYW5nb0lkKGdyb3VwRG9jSWQpO1xuXG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGVkZ2VDb2xsZWN0aW9uOiBFZGdlQ29sbGVjdGlvbiA9IHVzZURiKGRhdGFiYXNlTmFtZSkuY29sbGVjdGlvbignaGFzQ29ubmVjdGlvbicpO1xuICBjb25zdCBlZGdlSWQgPSBjcmVhdGVIYXNoKGBncm91cC0ke2Zvcm1hdFVzZURvY0lkfS0ke2Zvcm1hdEdyb3VwRG9jSWR9YCk7XG4gIGNvbnN0IGVkZ2U6IGFueSA9IHtcbiAgICBfZnJvbTogZm9ybWF0VXNlRG9jSWQsXG4gICAgX2tleTogZWRnZUlkLFxuICAgIF90bzogZm9ybWF0R3JvdXBEb2NJZCxcbiAgICBhZGRlZDogbm93LFxuICAgIHR5cGU6ICdncm91cHMnXG4gIH07XG5cbiAgcmV0dXJuIGVkZ2VDb2xsZWN0aW9uLnNhdmUoZWRnZSwge3JldHVybk5ldzogdHJ1ZX0pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwge3Nlc3Npb246IHt1c2VySWQ6IGZvcm1hdFVzZURvY0lkfX0pLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuY29uc3QgYnVpbGRHcm91cE11dGF0aW9uID0gKHtkZXNjcmlwdGlvbiA9ICcnLCBuYW1lID0gJ1VudGl0bGVkJywgdHlwZX06IEdyb3VwVHlwZSk6IFBhcnRpYWw8R3JvdXBUeXBlPiA9PiAoe1xuICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24uc3Vic3RyaW5nKDAsIDY0MCksXG4gIG5hbWUsXG4gIHR5cGU6IHBhcnNlQ2hhcih0eXBlLCAxNikgfHwgJ3ByaXZhdGUnXG59KTtcblxuZXhwb3J0IGNvbnN0IGFkZEdyb3VwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGl0ZW06IEdyb3VwVHlwZSk6IFByb21pc2U8R3JvdXBUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdhZGQnO1xuICBjb25zdCB7c2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBzZXNzaW9uRG9jSWQgPSBgJHtDT0xMRUNUSU9OUy5VU0VSU30vJHtzZXNzaW9uSWR9YDtcbiAgY29uc3Qge2Rlc2NyaXB0aW9uID0gJyd9OiBHcm91cFR5cGUgPSBpdGVtO1xuICBjb25zdCBpZCA9IGNyZWF0ZUhhc2goYGdyb3VwLSR7c2Vzc2lvbklkfWApO1xuICBjb25zdCBpbnNlcnQ6IEdyb3VwVHlwZSA9IHtcbiAgICBfa2V5OiBpZCxcbiAgICAuLi5idWlsZEdyb3VwTXV0YXRpb24oaXRlbSlcbiAgfTtcblxuICByZXR1cm4gYWRkSXRlbTxHcm91cFR5cGU+KGNvbnRleHQsIENPTExFQ1RJT05TLkdST1VQUywgaW5zZXJ0KVxuICAgIC50aGVuKChncm91cDogR3JvdXBUeXBlKSA9PiB7XG4gICAgICAvLyBVcGRhdGUgbGlua2VkIHRhZ3NcbiAgICAgIGNvbnN0IHtfaWQ6IGdyb3VwRG9jSWR9OiBHcm91cFR5cGUgPSBncm91cDtcblxuICAgICAgLy8gVmFsaWRhdGUgc2Vzc2lvbkRvY0lkIGFuZCBncm91cERvY0lkXG4gICAgICBpZiAoIXNlc3Npb25Eb2NJZCB8fCB0eXBlb2Ygc2Vzc2lvbkRvY0lkICE9PSAnc3RyaW5nJyB8fCAhc2Vzc2lvbkRvY0lkLnN0YXJ0c1dpdGgoJ3VzZXJzLycpKSB7XG4gICAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuSU5WQUxJRF9JTlBVVFxuICAgICAgICB9LCBuZXcgRXJyb3IoJ0ludmFsaWQgb3IgbWlzc2luZyBzZXNzaW9uRG9jSWQgZm9yIGVkZ2UgY3JlYXRpb24nKSwgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKCFncm91cERvY0lkIHx8IHR5cGVvZiBncm91cERvY0lkICE9PSAnc3RyaW5nJyB8fCAhZ3JvdXBEb2NJZC5zdGFydHNXaXRoKCdncm91cHMvJykpIHtcbiAgICAgICAgbG9nRXJyb3Ioe1xuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5JTlZBTElEX0lOUFVUXG4gICAgICAgIH0sIG5ldyBFcnJvcignSW52YWxpZCBvciBtaXNzaW5nIGdyb3VwRG9jSWQgZm9yIGVkZ2UgY3JlYXRpb24nKSwgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0YWdOYW1lcyA9IGV4dHJhY3RUYWdzKGRlc2NyaXB0aW9uKTtcbiAgICAgIHJldHVybiBnZXRUYWdMaXN0QnlOYW1lKGNvbnRleHQsIHRhZ05hbWVzKVxuICAgICAgICAudGhlbigocmVzb2x2ZWRUYWdzKSA9PiB1cGRhdGVUYWdzSW5JdGVtKGNvbnRleHQsIHtpdGVtRG9jSWQ6IGdyb3VwRG9jSWQsIHRhZ3M6IHJlc29sdmVkVGFnc30pKVxuICAgICAgICAudGhlbigoKSA9PiBjcmVhdGVHcm91cEVkZ2UoY29udGV4dCwgc2Vzc2lvbkRvY0lkLCBncm91cERvY0lkKVxuICAgICAgICAudGhlbigoKSA9PiBncm91cCkpO1xuICAgIH0pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlR3JvdXAgPSAoY29udGV4dDogQXBpQ29udGV4dCwgaXRlbTogR3JvdXBUeXBlKTogUHJvbWlzZTxHcm91cFR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ3VwZGF0ZSc7XG4gIGNvbnN0IHtcbiAgICBkZXNjcmlwdGlvbiA9ICcnLFxuICAgIGlkXG4gIH06IEdyb3VwVHlwZSA9IGl0ZW07XG4gIGNvbnN0IGl0ZW1JZCA9IHBhcnNlSWQoaWQpO1xuXG4gIHJldHVybiB1cGRhdGVJdGVtPEdyb3VwVHlwZT4oY29udGV4dCwgQ09MTEVDVElPTlMuR1JPVVBTLCBpdGVtSWQsIGJ1aWxkR3JvdXBNdXRhdGlvbihpdGVtKSlcbiAgICAudGhlbigoZ3JvdXA6IEdyb3VwVHlwZSkgPT4ge1xuICAgICAgY29uc3Qge19pZDogZ3JvdXBEb2NJZH0gPSBncm91cDtcblxuICAgICAgLy8gVXBkYXRlIGxpbmtlZCB0YWdzXG4gICAgICBjb25zdCB0YWdOYW1lcyA9IGV4dHJhY3RUYWdzKGRlc2NyaXB0aW9uKTtcbiAgICAgIHJldHVybiBnZXRUYWdMaXN0QnlOYW1lKGNvbnRleHQsIHRhZ05hbWVzKVxuICAgICAgICAudGhlbigocmVzb2x2ZWRUYWdzKSA9PiB1cGRhdGVUYWdzSW5JdGVtKGNvbnRleHQsIHtpdGVtRG9jSWQ6IGdyb3VwRG9jSWQsIHRhZ3M6IHJlc29sdmVkVGFnc30pKVxuICAgICAgICAudGhlbigoKSA9PiBncm91cCk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVHcm91cCA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBpdGVtSWQ6IHN0cmluZyk6IFByb21pc2U8R3JvdXBUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdkZWxldGUnO1xuICBjb25zdCBmb3JtYXRJdGVtSWQgPSBwYXJzZUlkKGl0ZW1JZCk7XG5cbiAgcmV0dXJuIGRlbGV0ZUl0ZW08R3JvdXBUeXBlPihjb250ZXh0LCBDT0xMRUNUSU9OUy5HUk9VUFMsIGZvcm1hdEl0ZW1JZClcbiAgICAudGhlbigoZ3JvdXApID0+IGdyb3VwIHx8ICh7X2tleTogZm9ybWF0SXRlbUlkfSBhcyBHcm91cFR5cGUpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEdyb3Vwc0J5UmVhY3Rpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCwgcmVhY3Rpb246IHN0cmluZyk6IFByb21pc2U8R3JvdXBUeXBlW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEdyb3Vwc0J5UmVhY3Rpb24nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdFJlYWN0aW9uID0gcGFyc2VDaGFyKHJlYWN0aW9uLCAzMik7XG4gIGNvbnN0IHVzZXJEb2NJZCA9IGB1c2Vycy8ke3Nlc3Npb25JZH1gO1xuXG4gIC8vIFF1ZXJ5XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHUsIHIgSU4gT1VUQk9VTkQgJHt1c2VyRG9jSWR9IGhhc1JlYWN0aW9uXG4gICAgICBGSUxURVIgci52YWx1ZSA9PSAke2Zvcm1hdFJlYWN0aW9ufVxuICAgICAgQ09MTEVDVCByZWFjdGlvbk5hbWUgPSByLnZhbHVlIElOVE8gcmVhY3Rpb25JdGVtc1xuICAgICAgUkVUVVJOIHt2YWx1ZTogcmVhY3Rpb25OYW1lLCBjb3VudDogTEVOR1RIKHJlYWN0aW9uSXRlbXNbKl0uci52YWx1ZSl9YDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzR3JvdXBlZCA9IChjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VySWQ6IHN0cmluZywgZ3JvdXBJZDogc3RyaW5nKTogUHJvbWlzZTxHcm91cFVzZXI+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2lzR3JvdXBlZCc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0VXNlcklkID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBmb3JtYXRHcm91cElkID0gcGFyc2VJZChncm91cElkKTtcblxuICAvLyBDb21wbGV4IGVkZ2UgdHJhdmVyc2FsIHRvIGNoZWNrIGdyb3VwIG1lbWJlcnNoaXAgLSBrZWVwIGN1c3RvbSBpbXBsZW1lbnRhdGlvblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBnIElOICR7Z3JvdXBzQ29sbGVjdGlvbn1cbiAgICBGSUxURVIgZy5fa2V5ID09ICR7Zm9ybWF0R3JvdXBJZH1cbiAgICBGT1IgdSBJTiBJTkJPVU5EIGcuX2lkICR7aGFzQ29ubmVjdGlvbkNvbGxlY3Rpb259XG4gICAgRklMVEVSIHUuX2tleSA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLnRoZW4oKHJlc3VsdHMgPSBbXSkgPT4ge1xuICAgICAgY29uc3QgaXNWYWxpZCA9ICEhcmVzdWx0cy5sZW5ndGg7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGdyb3VwSWQsXG4gICAgICAgIGlzVmFsaWQsXG4gICAgICAgIHVzZXJJZFxuICAgICAgfTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIHtzZXNzaW9uOiB7dXNlcklkfX0pLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcbiJdLCJuYW1lcyI6WyJmbGF0dGVuIiwidW5pcUJ5IiwiY3JlYXRlSGFzaCIsInBhcnNlQXJhbmdvSWQiLCJwYXJzZUNoYXIiLCJwYXJzZUlkIiwiYXFsIiwibGl0ZXJhbCIsIkNPTExFQ1RJT05TIiwiRURHRVMiLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJ1c2VEYiIsImFkZEl0ZW0iLCJkZWxldGVJdGVtIiwiZ2V0SXRlbUJ5IiwidXBkYXRlSXRlbSIsImV4dHJhY3RUYWdzIiwiZ2V0VGFnTGlzdEJ5TmFtZSIsInVwZGF0ZVRhZ3NJbkl0ZW0iLCJldmVudENhdGVnb3J5IiwiZ3JvdXBzQ29sbGVjdGlvbiIsIkdST1VQUyIsInVzZXJzQ29sbGVjdGlvbiIsIlVTRVJTIiwiaGFzQ29ubmVjdGlvbkNvbGxlY3Rpb24iLCJIQVNfQ09OTkVDVElPTiIsImlzVGFnZ2VkQ29sbGVjdGlvbiIsIklTX1RBR0dFRCIsImdldEdyb3VwTGlzdEJ5QXBwIiwiY29udGV4dCIsImZyb20iLCJ0byIsImFjdGlvbiIsImRhdGFiYXNlTmFtZSIsImFxbFFyeSIsInVuZGVmaW5lZCIsInF1ZXJ5IiwidGhlbiIsImN1cnNvciIsImFsbCIsImNhdGNoIiwiZXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwiREFUQUJBU0VfRVJST1IiLCJnZXRHcm91cExpc3RCeVVzZXIiLCJ1c2VySWQiLCJnZXRHcm91cExpc3RCeVRhZ3MiLCJ0YWdOYW1lcyIsIlByb21pc2UiLCJtYXAiLCJ0YWdOYW1lIiwiZm9ybWF0VGFnTmFtZSIsImxpbWl0Q2xhdXNlIiwicmVzdWx0cyIsIml0ZW0iLCJfa2V5IiwiZ2V0R3JvdXBCeUlkIiwiaXRlbUlkIiwic2Vzc2lvbiIsInNlc3Npb25JZCIsImZvcm1hdEl0ZW1JZCIsIm5leHQiLCJncm91cCIsImdldEdyb3VwRGV0YWlscyIsImdyb3VwSWQiLCJmb3JtYXRHcm91cElkIiwiY3JlYXRlR3JvdXBFZGdlIiwidXNlckRvY0lkIiwiZ3JvdXBEb2NJZCIsImZvcm1hdFVzZURvY0lkIiwiZm9ybWF0R3JvdXBEb2NJZCIsIm5vdyIsIkRhdGUiLCJlZGdlQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iLCJlZGdlSWQiLCJlZGdlIiwiX2Zyb20iLCJfdG8iLCJhZGRlZCIsInR5cGUiLCJzYXZlIiwicmV0dXJuTmV3IiwiYnVpbGRHcm91cE11dGF0aW9uIiwiZGVzY3JpcHRpb24iLCJuYW1lIiwic3Vic3RyaW5nIiwiYWRkR3JvdXAiLCJzZXNzaW9uRG9jSWQiLCJpZCIsImluc2VydCIsIl9pZCIsInN0YXJ0c1dpdGgiLCJJTlZBTElEX0lOUFVUIiwiRXJyb3IiLCJyZXNvbHZlZFRhZ3MiLCJpdGVtRG9jSWQiLCJ0YWdzIiwidXBkYXRlR3JvdXAiLCJkZWxldGVHcm91cCIsImdldEdyb3Vwc0J5UmVhY3Rpb24iLCJyZWFjdGlvbiIsImZvcm1hdFJlYWN0aW9uIiwiaXNHcm91cGVkIiwiZm9ybWF0VXNlcklkIiwiaXNWYWxpZCIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsT0FBTyxRQUFPLDhCQUE4QjtBQUNwRCxTQUFRQyxNQUFNLFFBQU8sMkJBQTJCO0FBQ2hELFNBQVFDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sUUFBTywrQkFBK0I7QUFDM0YsU0FBUUMsR0FBRyxRQUFPLFdBQVc7QUFDN0IsU0FBa0JDLE9BQU8sUUFBTyxlQUFlO0FBRS9DLFNBQVFDLFdBQVcsRUFBRUMsS0FBSyxRQUFPLDhCQUE4QjtBQUMvRCxTQUFRQyxVQUFVLFFBQU8sMEJBQTBCO0FBQ25ELFNBQVFDLFFBQVEsUUFBTyw2QkFBNkI7QUFDcEQsU0FBUUMsS0FBSyxRQUFPLDRCQUE0QjtBQUNoRCxTQUFRQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsU0FBUyxFQUFFQyxVQUFVLFFBQU8sWUFBWTtBQUNyRSxTQUFRQyxXQUFXLEVBQUVDLGdCQUFnQixFQUFFQyxnQkFBZ0IsUUFBTyxZQUFZO0FBTTFFLE1BQU1DLGdCQUFnQjtBQUN0QixNQUFNQyxtQkFBbUJkLFFBQVFDLFlBQVljLE1BQU07QUFDbkQsTUFBTUMsa0JBQWtCaEIsUUFBUUMsWUFBWWdCLEtBQUs7QUFDakQsTUFBTUMsMEJBQTBCbEIsUUFBUUUsTUFBTWlCLGNBQWM7QUFDNUQsTUFBTUMscUJBQXFCcEIsUUFBUUUsTUFBTW1C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
|
|
@@ -151,4 +151,4 @@ export const cancelHiggsfieldRequest = async (context, requestId)=>{
|
|
|
151
151
|
return submit(context, 'generateHiggsfieldModel', withWebhook(`${HIGGSFIELD_ORIGIN}/${model.id}`, webhookUrl), validateHiggsfieldModelInput(modelId, input));
|
|
152
152
|
};
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9oaWdnc2ZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVzZSBpcyBzdWJqZWN0IHRvIHRoZSBhY2NvbXBhbnlpbmcgY29tbWVyY2lhbCBMSUNFTlNFLlxuICovXG5pbXBvcnQge2dldCwgcG9zdH0gZnJvbSAnQG5sYWJzL3JpcC1odW50ZXInO1xuXG5pbXBvcnQge1xuICB2YWxpZGF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQsXG4gIHZhbGlkYXRlU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0LFxuICB2YWxpZGF0ZVNlZWRhbmNlVmlkZW9JbnB1dCxcbiAgdmFsaWRhdGVTb3VsSW1hZ2VJbnB1dFxufSBmcm9tICcuLi9hZGFwdGVycy9oaWdnc2ZpZWxkQWRhcHRlci5qcyc7XG5pbXBvcnQge2dldEhpZ2dzZmllbGRNb2RlbH0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZE1vZGVsQ2F0YWxvZy5qcyc7XG5pbXBvcnQge3ZhbGlkYXRlSGlnZ3NmaWVsZE1vZGVsSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2hpZ2dzZmllbGRNb2RlbHMuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge1xuICBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0LFxuICBTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQsXG4gIFNlZWRhbmNlVmlkZW9JbnB1dCxcbiAgU291bEltYWdlSW5wdXRcbn0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5ID0gJ2hpZ2dzZmllbGQnO1xuY29uc3QgSElHR1NGSUVMRF9PUklHSU4gPSAnaHR0cHM6Ly9hcGkuaGlnZ3NmaWVsZC5haSc7XG5jb25zdCBTT1VMX0lNQUdFX0VORFBPSU5UID0gYCR7SElHR1NGSUVMRF9PUklHSU59L2hpZ2dzZmllbGQtYWkvc291bC92Mi9zdGFuZGFyZGA7XG5jb25zdCBTRUVEQU5DRV9WSURFT19FTkRQT0lOVCA9IGAke0hJR0dTRklFTERfT1JJR0lOfS9ieXRlZGFuY2Uvc2VlZGFuY2UtMi41L2ltYWdlLXRvLXZpZGVvYDtcbmNvbnN0IFNFRURBTkNFX1JFRkVSRU5DRV9WSURFT19FTkRQT0lOVCA9IGAke0hJR0dTRklFTERfT1JJR0lOfS9ieXRlZGFuY2Uvc2VlZGFuY2UtMi41L3JlZmVyZW5jZS10by12aWRlb2A7XG5jb25zdCBNQVJLRVRJTkdfU1RVRElPX0lNQUdFX0VORFBPSU5UID0gYCR7SElHR1NGSUVMRF9PUklHSU59L21hcmtldGluZy1zdHVkaW8vaW1hZ2VgO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2dzZmllbGRSZXF1ZXN0UmVzdWx0IHtcbiAgY2FuY2VsVXJsPzogc3RyaW5nO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgc3RhdHVzVXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGlnZ3NmaWVsZFN0YXR1c1Jlc3VsdCB7XG4gIGVycm9yPzogc3RyaW5nO1xuICBtZWRpYVVybD86IHN0cmluZztcbiAgbWVkaWFVcmxzPzogc3RyaW5nW107XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEhpZ2dzZmllbGRSZXNwb25zZUJvZHkge1xuICBjYW5jZWxfdXJsPzogc3RyaW5nO1xuICBkZXRhaWw/OiB1bmtub3duO1xuICBlcnJvcj86IHN0cmluZztcbiAgaW1hZ2VzPzoge3VybD86IHN0cmluZ31bXTtcbiAgcmVxdWVzdF9pZD86IHN0cmluZztcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBzdGF0dXNfdXJsPzogc3RyaW5nO1xuICB2aWRlbz86IHt1cmw/OiBzdHJpbmd9O1xufVxuXG4vKiogTmV2ZXIgc2VuZCBBUEkgY3JlZGVudGlhbHMgdG8gYSBwcm92aWRlci1zdXBwbGllZCB0aGlyZC1wYXJ0eSBwb2xsaW5nL2NhbmNlbCBVUkwuICovXG5jb25zdCB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwgPSAodmFsdWU6IHN0cmluZywgcmVxdWVzdElkOiBzdHJpbmcsIGFjdGlvbjogJ3N0YXR1cycgfCAnY2FuY2VsJyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUpO1xuXG4gIGlmKHVybC5vcmlnaW4gIT09IEhJR0dTRklFTERfT1JJR0lOIHx8IHVybC51c2VybmFtZSB8fCB1cmwucGFzc3dvcmQgfHxcbiAgICB1cmwucGF0aG5hbWUgIT09IGAvcmVxdWVzdHMvJHtyZXF1ZXN0SWR9LyR7YWN0aW9ufWAgfHwgdXJsLnNlYXJjaCB8fCB1cmwuaGFzaCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSGlnZ3NmaWVsZCByZXR1cm5lZCBhbiBpbnZhbGlkICR7YWN0aW9ufSBVUkwuIFJlY29uY2lsZSB0aGUgcmVxdWVzdCBtYW51YWxseS5gKTtcbiAgfVxuXG4gIHJldHVybiB1cmwuaHJlZjtcbn07XG5cbmNvbnN0IGF1dGhIZWFkZXJzID0gKCk6IEhlYWRlcnMgPT4ge1xuICBjb25zdCBrZXlJZCA9IENvbmZpZy5nZXQ8c3RyaW5nPignaGlnZ3NmaWVsZC5rZXlJZCcpO1xuICBjb25zdCBrZXlTZWNyZXQgPSBDb25maWcuZ2V0PHN0cmluZz4oJ2hpZ2dzZmllbGQua2V5U2VjcmV0Jyk7XG5cbiAgaWYoIWtleUlkIHx8ICFrZXlTZWNyZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0hpZ2dzZmllbGQgaXMgbm90IGNvbmZpZ3VyZWQuIFNldCBISUdHU0ZJRUxEX0tFWV9JRCBhbmQgSElHR1NGSUVMRF9LRVlfU0VDUkVULicpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBIZWFkZXJzKHtcbiAgICBBdXRob3JpemF0aW9uOiBgS2V5ICR7a2V5SWR9OiR7a2V5U2VjcmV0fWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICB9KTtcbn07XG5cbmNvbnN0IHdpdGhXZWJob29rID0gKGVuZHBvaW50OiBzdHJpbmcsIHdlYmhvb2tVcmw/OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgKHdlYmhvb2tVcmwgPyBgJHtlbmRwb2ludH0/aGZfd2ViaG9vaz0ke2VuY29kZVVSSUNvbXBvbmVudCh3ZWJob29rVXJsKX1gIDogZW5kcG9pbnQpO1xuXG5jb25zdCBzdWJtaXQgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGFjdGlvbjogc3RyaW5nLCBlbmRwb2ludDogc3RyaW5nLCBib2R5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBwb3N0KGVuZHBvaW50LCBib2R5LCB7Y2FjaGU6IGZhbHNlLCBoZWFkZXJzOiBhdXRoSGVhZGVycygpfSkgYXMgSGlnZ3NmaWVsZFJlc3BvbnNlQm9keTtcblxuICAgIGlmKCFkYXRhLnJlcXVlc3RfaWQgfHwgIWRhdGEuc3RhdHVzX3VybCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdIaWdnc2ZpZWxkIHN1Ym1pc3Npb24gb3V0Y29tZSBpcyB1bmtub3duOiBtaXNzaW5nIHJlcXVlc3RfaWQgb3Igc3RhdHVzX3VybC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FuY2VsVXJsOiBkYXRhLmNhbmNlbF91cmwgPyB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwoZGF0YS5jYW5jZWxfdXJsLCBkYXRhLnJlcXVlc3RfaWQsICdjYW5jZWwnKSA6IHVuZGVmaW5lZCxcbiAgICAgIHJlcXVlc3RJZDogZGF0YS5yZXF1ZXN0X2lkLFxuICAgICAgc3RhdHVzVXJsOiB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwoZGF0YS5zdGF0dXNfdXJsLCBkYXRhLnJlcXVlc3RfaWQsICdzdGF0dXMnKVxuICAgIH07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gbG9nRXJyb3IoXG4gICAgICB7YWN0aW9uLCBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSwgdmFsdWU6IEVycm9yVHlwZXMuRVhURVJOQUxfQVBJX0VSUk9SfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHRcbiAgICApIGFzIFByb21pc2U8bmV2ZXI+O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVTb3VsSW1hZ2UgPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBTb3VsSW1hZ2VJbnB1dCwgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICBjb25zdCB2YWxpZGF0ZWQgPSB2YWxpZGF0ZVNvdWxJbWFnZUlucHV0KGlucHV0KTtcblxuICByZXR1cm4gc3VibWl0KGNvbnRleHQsICdnZW5lcmF0ZVNvdWxJbWFnZScsIHdpdGhXZWJob29rKFNPVUxfSU1BR0VfRU5EUE9JTlQsIHdlYmhvb2tVcmwpLCB7XG4gICAgYXNwZWN0X3JhdGlvOiB2YWxpZGF0ZWQuYXNwZWN0UmF0aW8sXG4gICAgYmF0Y2hfc2l6ZTogdmFsaWRhdGVkLmJhdGNoU2l6ZSxcbiAgICBlbmhhbmNlX3Byb21wdDogdmFsaWRhdGVkLmVuaGFuY2VQcm9tcHQsXG4gICAgcHJvbXB0OiB2YWxpZGF0ZWQucHJvbXB0LFxuICAgIHJlc29sdXRpb246IHZhbGlkYXRlZC5yZXNvbHV0aW9uLFxuICAgIHNlZWQ6IHZhbGlkYXRlZC5zZWVkLFxuICAgIHN0eWxlX2lkOiB2YWxpZGF0ZWQuc3R5bGVJZFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVNlZWRhbmNlVmlkZW8gPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBTZWVkYW5jZVZpZGVvSW5wdXQsIHdlYmhvb2tVcmw/OiBzdHJpbmdcbik6IFByb21pc2U8SGlnZ3NmaWVsZFJlcXVlc3RSZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVTZWVkYW5jZVZpZGVvSW5wdXQoaW5wdXQpO1xuXG4gIHJldHVybiBzdWJtaXQoY29udGV4dCwgJ2dlbmVyYXRlU2VlZGFuY2VWaWRlbycsIHdpdGhXZWJob29rKFNFRURBTkNFX1ZJREVPX0VORFBPSU5ULCB3ZWJob29rVXJsKSwge1xuICAgIGR1cmF0aW9uOiB2YWxpZGF0ZWQuZHVyYXRpb24sXG4gICAgZW5kX2ltYWdlX3VybDogdmFsaWRhdGVkLmVuZEltYWdlVXJsLFxuICAgIGdlbmVyYXRlX2F1ZGlvOiB2YWxpZGF0ZWQuZ2VuZXJhdGVBdWRpbyxcbiAgICBpbWFnZV91cmw6IHZhbGlkYXRlZC5pbWFnZVVybCxcbiAgICBvdXRwdXRfZm9ybWF0OiB2YWxpZGF0ZWQub3V0cHV0Rm9ybWF0LFxuICAgIHByb21wdDogdmFsaWRhdGVkLnByb21wdCxcbiAgICByZXNvbHV0aW9uOiB2YWxpZGF0ZWQucmVzb2x1dGlvblxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW8gPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQsIHdlYmhvb2tVcmw/OiBzdHJpbmdcbik6IFByb21pc2U8SGlnZ3NmaWVsZFJlcXVlc3RSZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQoaW5wdXQpO1xuXG4gIHJldHVybiBzdWJtaXQoY29udGV4dCwgJ2dlbmVyYXRlU2VlZGFuY2VSZWZlcmVuY2VWaWRlbycsIHdpdGhXZWJob29rKFNFRURBTkNFX1JFRkVSRU5DRV9WSURFT19FTkRQT0lOVCwgd2ViaG9va1VybCksIHtcbiAgICBhc3BlY3RfcmF0aW86IHZhbGlkYXRlZC5hc3BlY3RSYXRpbyxcbiAgICBhdWRpb191cmxzOiB2YWxpZGF0ZWQuYXVkaW9VcmxzLFxuICAgIGR1cmF0aW9uOiB2YWxpZGF0ZWQuZHVyYXRpb24sXG4gICAgZ2VuZXJhdGVfYXVkaW86IHZhbGlkYXRlZC5nZW5lcmF0ZUF1ZGlvLFxuICAgIGltYWdlX3VybHM6IHZhbGlkYXRlZC5pbWFnZVVybHMsXG4gICAgb3V0cHV0X2Zvcm1hdDogdmFsaWRhdGVkLm91dHB1dEZvcm1hdCxcbiAgICBwcm9tcHQ6IHZhbGlkYXRlZC5wcm9tcHQsXG4gICAgcmVzb2x1dGlvbjogdmFsaWRhdGVkLnJlc29sdXRpb24sXG4gICAgdmlkZW9fdXJsczogdmFsaWRhdGVkLnZpZGVvVXJsc1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LCBpbnB1dDogTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dCwgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICBjb25zdCB2YWxpZGF0ZWQgPSB2YWxpZGF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQoaW5wdXQpO1xuXG4gIHJldHVybiBzdWJtaXQoY29udGV4dCwgJ2dlbmVyYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2UnLCB3aXRoV2ViaG9vayhNQVJLRVRJTkdfU1RVRElPX0lNQUdFX0VORFBPSU5ULCB3ZWJob29rVXJsKSwge1xuICAgIGFzcGVjdF9yYXRpbzogdmFsaWRhdGVkLmFzcGVjdFJhdGlvLFxuICAgIGVuaGFuY2VfcHJvbXB0OiB2YWxpZGF0ZWQuZW5oYW5jZVByb21wdCxcbiAgICBpbWFnZV91cmxzOiB2YWxpZGF0ZWQuaW1hZ2VVcmxzLFxuICAgIHByZXNldF9pZDogdmFsaWRhdGVkLnByZXNldElkLFxuICAgIHByb21wdDogdmFsaWRhdGVkLnByb21wdCxcbiAgICBxdWFsaXR5OiB2YWxpZGF0ZWQucXVhbGl0eSxcbiAgICByZXNvbHV0aW9uOiB2YWxpZGF0ZWQucmVzb2x1dGlvblxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIaWdnc2ZpZWxkUmVxdWVzdFN0YXR1cyA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCwgcmVxdWVzdElkOiBzdHJpbmdcbik6IFByb21pc2U8SGlnZ3NmaWVsZFN0YXR1c1Jlc3VsdD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHN0YXR1c1VybCA9IHZhbGlkYXRlSGlnZ3NmaWVsZFVybChgJHtISUdHU0ZJRUxEX09SSUdJTn0vcmVxdWVzdHMvJHtyZXF1ZXN0SWR9L3N0YXR1c2AsIHJlcXVlc3RJZCwgJ3N0YXR1cycpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXQoc3RhdHVzVXJsLCB7fSwge2NhY2hlOiBmYWxzZSwgaGVhZGVyczogYXV0aEhlYWRlcnMoKX0pIGFzIEhpZ2dzZmllbGRSZXNwb25zZUJvZHk7XG5cbiAgICBpZihkYXRhLnJlcXVlc3RfaWQgIT09IHJlcXVlc3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdIaWdnc2ZpZWxkIHN0YXR1cyByZXNwb25zZSByZXR1cm5lZCBhbiB1bmV4cGVjdGVkIHJlcXVlc3QgaWRlbnRpZmllci4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IGRhdGEuZXJyb3IsXG4gICAgICBtZWRpYVVybDogZGF0YS52aWRlbz8udXJsIHx8IGRhdGEuaW1hZ2VzPy5bMF0/LnVybCxcbiAgICAgIG1lZGlhVXJsczogZGF0YS5pbWFnZXM/Lm1hcCgoaW1hZ2UpID0+IGltYWdlLnVybCkuZmlsdGVyKCh1cmwpOiB1cmwgaXMgc3RyaW5nID0+IEJvb2xlYW4odXJsKSksXG4gICAgICByZXF1ZXN0SWQsXG4gICAgICBzdGF0dXM6IGRhdGEuc3RhdHVzIHx8ICd1bmtub3duJ1xuICAgIH07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gbG9nRXJyb3IoXG4gICAgICB7YWN0aW9uOiAnZ2V0SGlnZ3NmaWVsZFJlcXVlc3RTdGF0dXMnLCBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSwgdmFsdWU6IEVycm9yVHlwZXMuRVhURVJOQUxfQVBJX0VSUk9SfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHRcbiAgICApIGFzIFByb21pc2U8bmV2ZXI+O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY2FuY2VsSGlnZ3NmaWVsZFJlcXVlc3QgPSBhc3luYyAoY29udGV4dDogQXBpQ29udGV4dCwgcmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBjYW5jZWxVcmwgPSB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwoYCR7SElHR1NGSUVMRF9PUklHSU59L3JlcXVlc3RzLyR7cmVxdWVzdElkfS9jYW5jZWxgLCByZXF1ZXN0SWQsICdjYW5jZWwnKTtcbiAgICBhd2FpdCBwb3N0KGNhbmNlbFVybCwge30sIHtjYWNoZTogZmFsc2UsIGhlYWRlcnM6IGF1dGhIZWFkZXJzKCl9KTtcblxuICAgIHJldHVybiAoYXdhaXQgZ2V0SGlnZ3NmaWVsZFJlcXVlc3RTdGF0dXMoY29udGV4dCwgcmVxdWVzdElkKSkuc3RhdHVzID09PSAnY2FuY2VsZWQnO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIGxvZ0Vycm9yKFxuICAgICAge2FjdGlvbjogJ2NhbmNlbEhpZ2dzZmllbGRSZXF1ZXN0JywgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksIHZhbHVlOiBFcnJvclR5cGVzLkVYVEVSTkFMX0FQSV9FUlJPUn0sIGVycm9yIGFzIEVycm9yLCBjb250ZXh0XG4gICAgKSBhcyBQcm9taXNlPG5ldmVyPjtcbiAgfVxufTtcblxuLyoqIFN1Ym1pdCBvbmUgYWxsb3dsaXN0ZWQgY2F0YWxvZyBtb2RlbDsgbmV2ZXIgcmV0cnkgYSBzdWJtaXNzaW9uIHdpdGggYW4gdW5rbm93biBvdXRjb21lLiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LCBtb2RlbElkOiBzdHJpbmcsIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICBjb25zdCBtb2RlbCA9IGdldEhpZ2dzZmllbGRNb2RlbChtb2RlbElkKTtcbiAgcmV0dXJuIHN1Ym1pdChjb250ZXh0LCAnZ2VuZXJhdGVIaWdnc2ZpZWxkTW9kZWwnLCB3aXRoV2ViaG9vayhgJHtISUdHU0ZJRUxEX09SSUdJTn0vJHttb2RlbC5pZH1gLCB3ZWJob29rVXJsKSxcbiAgICB2YWxpZGF0ZUhpZ2dzZmllbGRNb2RlbElucHV0KG1vZGVsSWQsIGlucHV0KSk7XG59O1xuIl0sIm5hbWVzIjpbImdldCIsInBvc3QiLCJ2YWxpZGF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQiLCJ2YWxpZGF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCIsInZhbGlkYXRlU2VlZGFuY2VWaWRlb0lucHV0IiwidmFsaWRhdGVTb3VsSW1hZ2VJbnB1dCIsImdldEhpZ2dzZmllbGRNb2RlbCIsInZhbGlkYXRlSGlnZ3NmaWVsZE1vZGVsSW5wdXQiLCJDb25maWciLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJldmVudENhdGVnb3J5IiwiSElHR1NGSUVMRF9PUklHSU4iLCJTT1VMX0lNQUdFX0VORFBPSU5UIiwiU0VFREFOQ0VfVklERU9fRU5EUE9JTlQiLCJTRUVEQU5DRV9SRUZFUkVOQ0VfVklERU9fRU5EUE9JTlQiLCJNQVJLRVRJTkdfU1RVRElPX0lNQUdFX0VORFBPSU5UIiwidmFsaWRhdGVIaWdnc2ZpZWxkVXJsIiwidmFsdWUiLCJyZXF1ZXN0SWQiLCJhY3Rpb24iLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwicGF0aG5hbWUiLCJzZWFyY2giLCJoYXNoIiwiRXJyb3IiLCJocmVmIiwiYXV0aEhlYWRlcnMiLCJrZXlJZCIsImtleVNlY3JldCIsIkhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwid2l0aFdlYmhvb2siLCJlbmRwb2ludCIsIndlYmhvb2tVcmwiLCJlbmNvZGVVUklDb21wb25lbnQiLCJzdWJtaXQiLCJjb250ZXh0IiwiYm9keSIsImRhdGEiLCJjYWNoZSIsImhlYWRlcnMiLCJyZXF1ZXN0X2lkIiwic3RhdHVzX3VybCIsImNhbmNlbFVybCIsImNhbmNlbF91cmwiLCJ1bmRlZmluZWQiLCJzdGF0dXNVcmwiLCJlcnJvciIsImNhdGVnb3J5IiwiRVhURVJOQUxfQVBJX0VSUk9SIiwiZ2VuZXJhdGVTb3VsSW1hZ2UiLCJpbnB1dCIsInZhbGlkYXRlZCIsImFzcGVjdF9yYXRpbyIsImFzcGVjdFJhdGlvIiwiYmF0Y2hfc2l6ZSIsImJhdGNoU2l6ZSIsImVuaGFuY2VfcHJvbXB0IiwiZW5oYW5jZVByb21wdCIsInByb21wdCIsInJlc29sdXRpb24iLCJzZWVkIiwic3R5bGVfaWQiLCJzdHlsZUlkIiwiZ2VuZXJhdGVTZWVkYW5jZVZpZGVvIiwiZHVyYXRpb24iLCJlbmRfaW1hZ2VfdXJsIiwiZW5kSW1hZ2VVcmwiLCJnZW5lcmF0ZV9hdWRpbyIsImdlbmVyYXRlQXVkaW8iLCJpbWFnZV91cmwiLCJpbWFnZVVybCIsIm91dHB1dF9mb3JtYXQiLCJvdXRwdXRGb3JtYXQiLCJnZW5lcmF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW8iLCJhdWRpb191cmxzIiwiYXVkaW9VcmxzIiwiaW1hZ2VfdXJscyIsImltYWdlVXJscyIsInZpZGVvX3VybHMiLCJ2aWRlb1VybHMiLCJnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlIiwicHJlc2V0X2lkIiwicHJlc2V0SWQiLCJxdWFsaXR5IiwiZ2V0SGlnZ3NmaWVsZFJlcXVlc3RTdGF0dXMiLCJtZWRpYVVybCIsInZpZGVvIiwiaW1hZ2VzIiwibWVkaWFVcmxzIiwibWFwIiwiaW1hZ2UiLCJmaWx0ZXIiLCJCb29sZWFuIiwic3RhdHVzIiwiY2FuY2VsSGlnZ3NmaWVsZFJlcXVlc3QiLCJnZW5lcmF0ZUhpZ2dzZmllbGRNb2RlbCIsIm1vZGVsSWQiLCJtb2RlbCIsImlkIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxHQUFHLEVBQUVDLElBQUksUUFBTyxvQkFBb0I7QUFFNUMsU0FDRUMsaUNBQWlDLEVBQ2pDQyxtQ0FBbUMsRUFDbkNDLDBCQUEwQixFQUMxQkMsc0JBQXNCLFFBQ2pCLG1DQUFtQztBQUMxQyxTQUFRQyxrQkFBa0IsUUFBTyx3Q0FBd0M7QUFDekUsU0FBUUMsNEJBQTRCLFFBQU8sa0NBQWtDO0FBQzdFLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBQ3BDLFNBQVFDLFVBQVUsUUFBTywwQkFBMEI7QUFDbkQsU0FBUUMsUUFBUSxRQUFPLDZCQUE2QjtBQVVwRCxNQUFNQyxnQkFBZ0I7QUFDdEIsTUFBTUMsb0JBQW9CO0FBQzFCLE1BQU1DLHNCQUFzQixHQUFHRCxrQkFBa0IsK0JBQStCLENBQUM7QUFDakYsTUFBTUUsMEJBQTBCLEdBQUdGLGtCQUFrQixzQ0FBc0MsQ0FBQztBQUM1RixNQUFNRyxvQ0FBb0MsR0FBR0gsa0JBQWtCLDBDQUEwQyxDQUFDO0FBQzFHLE1BQU1JLGtDQUFrQyxHQUFHSixrQkFBa0IsdUJBQXVCLENBQUM7QUEyQnJGLHNGQUFzRixHQUN0RixNQUFNSyx3QkFBd0IsQ0FBQ0MsT0FBZUMsV0FBbUJDO0lBQy9ELE1BQU1DLE1BQU0sSUFBSUMsSUFBSUo7SUFFcEIsSUFBR0csSUFBSUUsTUFBTSxLQUFLWCxxQkFBcUJTLElBQUlHLFFBQVEsSUFBSUgsSUFBSUksUUFBUSxJQUNqRUosSUFBSUssUUFBUSxLQUFLLENBQUMsVUFBVSxFQUFFUCxVQUFV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
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9wcml2YXRlL3RtcC92YXVsdC1yZWFrdG9yLWNvbXBsZXRpb24vcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9oaWdnc2ZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVzZSBpcyBzdWJqZWN0IHRvIHRoZSBhY2NvbXBhbnlpbmcgY29tbWVyY2lhbCBMSUNFTlNFLlxuICovXG5pbXBvcnQge2dldCwgcG9zdH0gZnJvbSAnQG5sYWJzL3JpcC1odW50ZXInO1xuXG5pbXBvcnQge1xuICB2YWxpZGF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQsXG4gIHZhbGlkYXRlU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0LFxuICB2YWxpZGF0ZVNlZWRhbmNlVmlkZW9JbnB1dCxcbiAgdmFsaWRhdGVTb3VsSW1hZ2VJbnB1dFxufSBmcm9tICcuLi9hZGFwdGVycy9oaWdnc2ZpZWxkQWRhcHRlci5qcyc7XG5pbXBvcnQge2dldEhpZ2dzZmllbGRNb2RlbH0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZE1vZGVsQ2F0YWxvZy5qcyc7XG5pbXBvcnQge3ZhbGlkYXRlSGlnZ3NmaWVsZE1vZGVsSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2hpZ2dzZmllbGRNb2RlbHMuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge1xuICBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0LFxuICBTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQsXG4gIFNlZWRhbmNlVmlkZW9JbnB1dCxcbiAgU291bEltYWdlSW5wdXRcbn0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5ID0gJ2hpZ2dzZmllbGQnO1xuY29uc3QgSElHR1NGSUVMRF9PUklHSU4gPSAnaHR0cHM6Ly9hcGkuaGlnZ3NmaWVsZC5haSc7XG5jb25zdCBTT1VMX0lNQUdFX0VORFBPSU5UID0gYCR7SElHR1NGSUVMRF9PUklHSU59L2hpZ2dzZmllbGQtYWkvc291bC92Mi9zdGFuZGFyZGA7XG5jb25zdCBTRUVEQU5DRV9WSURFT19FTkRQT0lOVCA9IGAke0hJR0dTRklFTERfT1JJR0lOfS9ieXRlZGFuY2Uvc2VlZGFuY2UtMi41L2ltYWdlLXRvLXZpZGVvYDtcbmNvbnN0IFNFRURBTkNFX1JFRkVSRU5DRV9WSURFT19FTkRQT0lOVCA9IGAke0hJR0dTRklFTERfT1JJR0lOfS9ieXRlZGFuY2Uvc2VlZGFuY2UtMi41L3JlZmVyZW5jZS10by12aWRlb2A7XG5jb25zdCBNQVJLRVRJTkdfU1RVRElPX0lNQUdFX0VORFBPSU5UID0gYCR7SElHR1NGSUVMRF9PUklHSU59L21hcmtldGluZy1zdHVkaW8vaW1hZ2VgO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2dzZmllbGRSZXF1ZXN0UmVzdWx0IHtcbiAgY2FuY2VsVXJsPzogc3RyaW5nO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgc3RhdHVzVXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGlnZ3NmaWVsZFN0YXR1c1Jlc3VsdCB7XG4gIGVycm9yPzogc3RyaW5nO1xuICBtZWRpYVVybD86IHN0cmluZztcbiAgbWVkaWFVcmxzPzogc3RyaW5nW107XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEhpZ2dzZmllbGRSZXNwb25zZUJvZHkge1xuICBjYW5jZWxfdXJsPzogc3RyaW5nO1xuICBkZXRhaWw/OiB1bmtub3duO1xuICBlcnJvcj86IHN0cmluZztcbiAgaW1hZ2VzPzoge3VybD86IHN0cmluZ31bXTtcbiAgcmVxdWVzdF9pZD86IHN0cmluZztcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBzdGF0dXNfdXJsPzogc3RyaW5nO1xuICB2aWRlbz86IHt1cmw/OiBzdHJpbmd9O1xufVxuXG4vKiogTmV2ZXIgc2VuZCBBUEkgY3JlZGVudGlhbHMgdG8gYSBwcm92aWRlci1zdXBwbGllZCB0aGlyZC1wYXJ0eSBwb2xsaW5nL2NhbmNlbCBVUkwuICovXG5jb25zdCB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwgPSAodmFsdWU6IHN0cmluZywgcmVxdWVzdElkOiBzdHJpbmcsIGFjdGlvbjogJ3N0YXR1cycgfCAnY2FuY2VsJyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUpO1xuXG4gIGlmKHVybC5vcmlnaW4gIT09IEhJR0dTRklFTERfT1JJR0lOIHx8IHVybC51c2VybmFtZSB8fCB1cmwucGFzc3dvcmQgfHxcbiAgICB1cmwucGF0aG5hbWUgIT09IGAvcmVxdWVzdHMvJHtyZXF1ZXN0SWR9LyR7YWN0aW9ufWAgfHwgdXJsLnNlYXJjaCB8fCB1cmwuaGFzaCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSGlnZ3NmaWVsZCByZXR1cm5lZCBhbiBpbnZhbGlkICR7YWN0aW9ufSBVUkwuIFJlY29uY2lsZSB0aGUgcmVxdWVzdCBtYW51YWxseS5gKTtcbiAgfVxuXG4gIHJldHVybiB1cmwuaHJlZjtcbn07XG5cbmNvbnN0IGF1dGhIZWFkZXJzID0gKCk6IEhlYWRlcnMgPT4ge1xuICBjb25zdCBrZXlJZCA9IENvbmZpZy5nZXQ8c3RyaW5nPignaGlnZ3NmaWVsZC5rZXlJZCcpO1xuICBjb25zdCBrZXlTZWNyZXQgPSBDb25maWcuZ2V0PHN0cmluZz4oJ2hpZ2dzZmllbGQua2V5U2VjcmV0Jyk7XG5cbiAgaWYoIWtleUlkIHx8ICFrZXlTZWNyZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0hpZ2dzZmllbGQgaXMgbm90IGNvbmZpZ3VyZWQuIFNldCBISUdHU0ZJRUxEX0tFWV9JRCBhbmQgSElHR1NGSUVMRF9LRVlfU0VDUkVULicpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBIZWFkZXJzKHtcbiAgICBBdXRob3JpemF0aW9uOiBgS2V5ICR7a2V5SWR9OiR7a2V5U2VjcmV0fWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICB9KTtcbn07XG5cbmNvbnN0IHdpdGhXZWJob29rID0gKGVuZHBvaW50OiBzdHJpbmcsIHdlYmhvb2tVcmw/OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgKHdlYmhvb2tVcmwgPyBgJHtlbmRwb2ludH0/aGZfd2ViaG9vaz0ke2VuY29kZVVSSUNvbXBvbmVudCh3ZWJob29rVXJsKX1gIDogZW5kcG9pbnQpO1xuXG5jb25zdCBzdWJtaXQgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGFjdGlvbjogc3RyaW5nLCBlbmRwb2ludDogc3RyaW5nLCBib2R5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBwb3N0KGVuZHBvaW50LCBib2R5LCB7Y2FjaGU6IGZhbHNlLCBoZWFkZXJzOiBhdXRoSGVhZGVycygpfSkgYXMgSGlnZ3NmaWVsZFJlc3BvbnNlQm9keTtcblxuICAgIGlmKCFkYXRhLnJlcXVlc3RfaWQgfHwgIWRhdGEuc3RhdHVzX3VybCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdIaWdnc2ZpZWxkIHN1Ym1pc3Npb24gb3V0Y29tZSBpcyB1bmtub3duOiBtaXNzaW5nIHJlcXVlc3RfaWQgb3Igc3RhdHVzX3VybC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FuY2VsVXJsOiBkYXRhLmNhbmNlbF91cmwgPyB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwoZGF0YS5jYW5jZWxfdXJsLCBkYXRhLnJlcXVlc3RfaWQsICdjYW5jZWwnKSA6IHVuZGVmaW5lZCxcbiAgICAgIHJlcXVlc3RJZDogZGF0YS5yZXF1ZXN0X2lkLFxuICAgICAgc3RhdHVzVXJsOiB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwoZGF0YS5zdGF0dXNfdXJsLCBkYXRhLnJlcXVlc3RfaWQsICdzdGF0dXMnKVxuICAgIH07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gbG9nRXJyb3IoXG4gICAgICB7YWN0aW9uLCBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSwgdmFsdWU6IEVycm9yVHlwZXMuRVhURVJOQUxfQVBJX0VSUk9SfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHRcbiAgICApIGFzIFByb21pc2U8bmV2ZXI+O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVTb3VsSW1hZ2UgPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBTb3VsSW1hZ2VJbnB1dCwgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICBjb25zdCB2YWxpZGF0ZWQgPSB2YWxpZGF0ZVNvdWxJbWFnZUlucHV0KGlucHV0KTtcblxuICByZXR1cm4gc3VibWl0KGNvbnRleHQsICdnZW5lcmF0ZVNvdWxJbWFnZScsIHdpdGhXZWJob29rKFNPVUxfSU1BR0VfRU5EUE9JTlQsIHdlYmhvb2tVcmwpLCB7XG4gICAgYXNwZWN0X3JhdGlvOiB2YWxpZGF0ZWQuYXNwZWN0UmF0aW8sXG4gICAgYmF0Y2hfc2l6ZTogdmFsaWRhdGVkLmJhdGNoU2l6ZSxcbiAgICBlbmhhbmNlX3Byb21wdDogdmFsaWRhdGVkLmVuaGFuY2VQcm9tcHQsXG4gICAgcHJvbXB0OiB2YWxpZGF0ZWQucHJvbXB0LFxuICAgIHJlc29sdXRpb246IHZhbGlkYXRlZC5yZXNvbHV0aW9uLFxuICAgIHNlZWQ6IHZhbGlkYXRlZC5zZWVkLFxuICAgIHN0eWxlX2lkOiB2YWxpZGF0ZWQuc3R5bGVJZFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVNlZWRhbmNlVmlkZW8gPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBTZWVkYW5jZVZpZGVvSW5wdXQsIHdlYmhvb2tVcmw/OiBzdHJpbmdcbik6IFByb21pc2U8SGlnZ3NmaWVsZFJlcXVlc3RSZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVTZWVkYW5jZVZpZGVvSW5wdXQoaW5wdXQpO1xuXG4gIHJldHVybiBzdWJtaXQoY29udGV4dCwgJ2dlbmVyYXRlU2VlZGFuY2VWaWRlbycsIHdpdGhXZWJob29rKFNFRURBTkNFX1ZJREVPX0VORFBPSU5ULCB3ZWJob29rVXJsKSwge1xuICAgIGR1cmF0aW9uOiB2YWxpZGF0ZWQuZHVyYXRpb24sXG4gICAgZW5kX2ltYWdlX3VybDogdmFsaWRhdGVkLmVuZEltYWdlVXJsLFxuICAgIGdlbmVyYXRlX2F1ZGlvOiB2YWxpZGF0ZWQuZ2VuZXJhdGVBdWRpbyxcbiAgICBpbWFnZV91cmw6IHZhbGlkYXRlZC5pbWFnZVVybCxcbiAgICBvdXRwdXRfZm9ybWF0OiB2YWxpZGF0ZWQub3V0cHV0Rm9ybWF0LFxuICAgIHByb21wdDogdmFsaWRhdGVkLnByb21wdCxcbiAgICByZXNvbHV0aW9uOiB2YWxpZGF0ZWQucmVzb2x1dGlvblxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW8gPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQsIHdlYmhvb2tVcmw/OiBzdHJpbmdcbik6IFByb21pc2U8SGlnZ3NmaWVsZFJlcXVlc3RSZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQoaW5wdXQpO1xuXG4gIHJldHVybiBzdWJtaXQoY29udGV4dCwgJ2dlbmVyYXRlU2VlZGFuY2VSZWZlcmVuY2VWaWRlbycsIHdpdGhXZWJob29rKFNFRURBTkNFX1JFRkVSRU5DRV9WSURFT19FTkRQT0lOVCwgd2ViaG9va1VybCksIHtcbiAgICBhc3BlY3RfcmF0aW86IHZhbGlkYXRlZC5hc3BlY3RSYXRpbyxcbiAgICBhdWRpb191cmxzOiB2YWxpZGF0ZWQuYXVkaW9VcmxzLFxuICAgIGR1cmF0aW9uOiB2YWxpZGF0ZWQuZHVyYXRpb24sXG4gICAgZ2VuZXJhdGVfYXVkaW86IHZhbGlkYXRlZC5nZW5lcmF0ZUF1ZGlvLFxuICAgIGltYWdlX3VybHM6IHZhbGlkYXRlZC5pbWFnZVVybHMsXG4gICAgb3V0cHV0X2Zvcm1hdDogdmFsaWRhdGVkLm91dHB1dEZvcm1hdCxcbiAgICBwcm9tcHQ6IHZhbGlkYXRlZC5wcm9tcHQsXG4gICAgcmVzb2x1dGlvbjogdmFsaWRhdGVkLnJlc29sdXRpb24sXG4gICAgdmlkZW9fdXJsczogdmFsaWRhdGVkLnZpZGVvVXJsc1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LCBpbnB1dDogTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dCwgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICBjb25zdCB2YWxpZGF0ZWQgPSB2YWxpZGF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQoaW5wdXQpO1xuXG4gIHJldHVybiBzdWJtaXQoY29udGV4dCwgJ2dlbmVyYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2UnLCB3aXRoV2ViaG9vayhNQVJLRVRJTkdfU1RVRElPX0lNQUdFX0VORFBPSU5ULCB3ZWJob29rVXJsKSwge1xuICAgIGFzcGVjdF9yYXRpbzogdmFsaWRhdGVkLmFzcGVjdFJhdGlvLFxuICAgIGVuaGFuY2VfcHJvbXB0OiB2YWxpZGF0ZWQuZW5oYW5jZVByb21wdCxcbiAgICBpbWFnZV91cmxzOiB2YWxpZGF0ZWQuaW1hZ2VVcmxzLFxuICAgIHByZXNldF9pZDogdmFsaWRhdGVkLnByZXNldElkLFxuICAgIHByb21wdDogdmFsaWRhdGVkLnByb21wdCxcbiAgICBxdWFsaXR5OiB2YWxpZGF0ZWQucXVhbGl0eSxcbiAgICByZXNvbHV0aW9uOiB2YWxpZGF0ZWQucmVzb2x1dGlvblxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIaWdnc2ZpZWxkUmVxdWVzdFN0YXR1cyA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCwgcmVxdWVzdElkOiBzdHJpbmdcbik6IFByb21pc2U8SGlnZ3NmaWVsZFN0YXR1c1Jlc3VsdD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHN0YXR1c1VybCA9IHZhbGlkYXRlSGlnZ3NmaWVsZFVybChgJHtISUdHU0ZJRUxEX09SSUdJTn0vcmVxdWVzdHMvJHtyZXF1ZXN0SWR9L3N0YXR1c2AsIHJlcXVlc3RJZCwgJ3N0YXR1cycpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXQoc3RhdHVzVXJsLCB7fSwge2NhY2hlOiBmYWxzZSwgaGVhZGVyczogYXV0aEhlYWRlcnMoKX0pIGFzIEhpZ2dzZmllbGRSZXNwb25zZUJvZHk7XG5cbiAgICBpZihkYXRhLnJlcXVlc3RfaWQgIT09IHJlcXVlc3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdIaWdnc2ZpZWxkIHN0YXR1cyByZXNwb25zZSByZXR1cm5lZCBhbiB1bmV4cGVjdGVkIHJlcXVlc3QgaWRlbnRpZmllci4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IGRhdGEuZXJyb3IsXG4gICAgICBtZWRpYVVybDogZGF0YS52aWRlbz8udXJsIHx8IGRhdGEuaW1hZ2VzPy5bMF0/LnVybCxcbiAgICAgIG1lZGlhVXJsczogZGF0YS5pbWFnZXM/Lm1hcCgoaW1hZ2UpID0+IGltYWdlLnVybCkuZmlsdGVyKCh1cmwpOiB1cmwgaXMgc3RyaW5nID0+IEJvb2xlYW4odXJsKSksXG4gICAgICByZXF1ZXN0SWQsXG4gICAgICBzdGF0dXM6IGRhdGEuc3RhdHVzIHx8ICd1bmtub3duJ1xuICAgIH07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gbG9nRXJyb3IoXG4gICAgICB7YWN0aW9uOiAnZ2V0SGlnZ3NmaWVsZFJlcXVlc3RTdGF0dXMnLCBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSwgdmFsdWU6IEVycm9yVHlwZXMuRVhURVJOQUxfQVBJX0VSUk9SfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHRcbiAgICApIGFzIFByb21pc2U8bmV2ZXI+O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY2FuY2VsSGlnZ3NmaWVsZFJlcXVlc3QgPSBhc3luYyAoY29udGV4dDogQXBpQ29udGV4dCwgcmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBjYW5jZWxVcmwgPSB2YWxpZGF0ZUhpZ2dzZmllbGRVcmwoYCR7SElHR1NGSUVMRF9PUklHSU59L3JlcXVlc3RzLyR7cmVxdWVzdElkfS9jYW5jZWxgLCByZXF1ZXN0SWQsICdjYW5jZWwnKTtcbiAgICBhd2FpdCBwb3N0KGNhbmNlbFVybCwge30sIHtjYWNoZTogZmFsc2UsIGhlYWRlcnM6IGF1dGhIZWFkZXJzKCl9KTtcblxuICAgIHJldHVybiAoYXdhaXQgZ2V0SGlnZ3NmaWVsZFJlcXVlc3RTdGF0dXMoY29udGV4dCwgcmVxdWVzdElkKSkuc3RhdHVzID09PSAnY2FuY2VsZWQnO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIGxvZ0Vycm9yKFxuICAgICAge2FjdGlvbjogJ2NhbmNlbEhpZ2dzZmllbGRSZXF1ZXN0JywgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksIHZhbHVlOiBFcnJvclR5cGVzLkVYVEVSTkFMX0FQSV9FUlJPUn0sIGVycm9yIGFzIEVycm9yLCBjb250ZXh0XG4gICAgKSBhcyBQcm9taXNlPG5ldmVyPjtcbiAgfVxufTtcblxuLyoqIFN1Ym1pdCBvbmUgYWxsb3dsaXN0ZWQgY2F0YWxvZyBtb2RlbDsgbmV2ZXIgcmV0cnkgYSBzdWJtaXNzaW9uIHdpdGggYW4gdW5rbm93biBvdXRjb21lLiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LCBtb2RlbElkOiBzdHJpbmcsIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxIaWdnc2ZpZWxkUmVxdWVzdFJlc3VsdD4gPT4ge1xuICBjb25zdCBtb2RlbCA9IGdldEhpZ2dzZmllbGRNb2RlbChtb2RlbElkKTtcbiAgcmV0dXJuIHN1Ym1pdChjb250ZXh0LCAnZ2VuZXJhdGVIaWdnc2ZpZWxkTW9kZWwnLCB3aXRoV2ViaG9vayhgJHtISUdHU0ZJRUxEX09SSUdJTn0vJHttb2RlbC5pZH1gLCB3ZWJob29rVXJsKSxcbiAgICB2YWxpZGF0ZUhpZ2dzZmllbGRNb2RlbElucHV0KG1vZGVsSWQsIGlucHV0KSk7XG59O1xuIl0sIm5hbWVzIjpbImdldCIsInBvc3QiLCJ2YWxpZGF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQiLCJ2YWxpZGF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCIsInZhbGlkYXRlU2VlZGFuY2VWaWRlb0lucHV0IiwidmFsaWRhdGVTb3VsSW1hZ2VJbnB1dCIsImdldEhpZ2dzZmllbGRNb2RlbCIsInZhbGlkYXRlSGlnZ3NmaWVsZE1vZGVsSW5wdXQiLCJDb25maWciLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJldmVudENhdGVnb3J5IiwiSElHR1NGSUVMRF9PUklHSU4iLCJTT1VMX0lNQUdFX0VORFBPSU5UIiwiU0VFREFOQ0VfVklERU9fRU5EUE9JTlQiLCJTRUVEQU5DRV9SRUZFUkVOQ0VfVklERU9fRU5EUE9JTlQiLCJNQVJLRVRJTkdfU1RVRElPX0lNQUdFX0VORFBPSU5UIiwidmFsaWRhdGVIaWdnc2ZpZWxkVXJsIiwidmFsdWUiLCJyZXF1ZXN0SWQiLCJhY3Rpb24iLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwicGF0aG5hbWUiLCJzZWFyY2giLCJoYXNoIiwiRXJyb3IiLCJocmVmIiwiYXV0aEhlYWRlcnMiLCJrZXlJZCIsImtleVNlY3JldCIsIkhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwid2l0aFdlYmhvb2siLCJlbmRwb2ludCIsIndlYmhvb2tVcmwiLCJlbmNvZGVVUklDb21wb25lbnQiLCJzdWJtaXQiLCJjb250ZXh0IiwiYm9keSIsImRhdGEiLCJjYWNoZSIsImhlYWRlcnMiLCJyZXF1ZXN0X2lkIiwic3RhdHVzX3VybCIsImNhbmNlbFVybCIsImNhbmNlbF91cmwiLCJ1bmRlZmluZWQiLCJzdGF0dXNVcmwiLCJlcnJvciIsImNhdGVnb3J5IiwiRVhURVJOQUxfQVBJX0VSUk9SIiwiZ2VuZXJhdGVTb3VsSW1hZ2UiLCJpbnB1dCIsInZhbGlkYXRlZCIsImFzcGVjdF9yYXRpbyIsImFzcGVjdFJhdGlvIiwiYmF0Y2hfc2l6ZSIsImJhdGNoU2l6ZSIsImVuaGFuY2VfcHJvbXB0IiwiZW5oYW5jZVByb21wdCIsInByb21wdCIsInJlc29sdXRpb24iLCJzZWVkIiwic3R5bGVfaWQiLCJzdHlsZUlkIiwiZ2VuZXJhdGVTZWVkYW5jZVZpZGVvIiwiZHVyYXRpb24iLCJlbmRfaW1hZ2VfdXJsIiwiZW5kSW1hZ2VVcmwiLCJnZW5lcmF0ZV9hdWRpbyIsImdlbmVyYXRlQXVkaW8iLCJpbWFnZV91cmwiLCJpbWFnZVVybCIsIm91dHB1dF9mb3JtYXQiLCJvdXRwdXRGb3JtYXQiLCJnZW5lcmF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW8iLCJhdWRpb191cmxzIiwiYXVkaW9VcmxzIiwiaW1hZ2VfdXJscyIsImltYWdlVXJscyIsInZpZGVvX3VybHMiLCJ2aWRlb1VybHMiLCJnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlIiwicHJlc2V0X2lkIiwicHJlc2V0SWQiLCJxdWFsaXR5IiwiZ2V0SGlnZ3NmaWVsZFJlcXVlc3RTdGF0dXMiLCJtZWRpYVVybCIsInZpZGVvIiwiaW1hZ2VzIiwibWVkaWFVcmxzIiwibWFwIiwiaW1hZ2UiLCJmaWx0ZXIiLCJCb29sZWFuIiwic3RhdHVzIiwiY2FuY2VsSGlnZ3NmaWVsZFJlcXVlc3QiLCJnZW5lcmF0ZUhpZ2dzZmllbGRNb2RlbCIsIm1vZGVsSWQiLCJtb2RlbCIsImlkIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxHQUFHLEVBQUVDLElBQUksUUFBTyxvQkFBb0I7QUFFNUMsU0FDRUMsaUNBQWlDLEVBQ2pDQyxtQ0FBbUMsRUFDbkNDLDBCQUEwQixFQUMxQkMsc0JBQXNCLFFBQ2pCLG1DQUFtQztBQUMxQyxTQUFRQyxrQkFBa0IsUUFBTyx3Q0FBd0M7QUFDekUsU0FBUUMsNEJBQTRCLFFBQU8sa0NBQWtDO0FBQzdFLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBQ3BDLFNBQVFDLFVBQVUsUUFBTywwQkFBMEI7QUFDbkQsU0FBUUMsUUFBUSxRQUFPLDZCQUE2QjtBQVVwRCxNQUFNQyxnQkFBZ0I7QUFDdEIsTUFBTUMsb0JBQW9CO0FBQzFCLE1BQU1DLHNCQUFzQixHQUFHRCxrQkFBa0IsK0JBQStCLENBQUM7QUFDakYsTUFBTUUsMEJBQTBCLEdBQUdGLGtCQUFrQixzQ0FBc0MsQ0FBQztBQUM1RixNQUFNRyxvQ0FBb0MsR0FBR0gsa0JBQWtCLDBDQUEwQyxDQUFDO0FBQzFHLE1BQU1JLGtDQUFrQyxHQUFHSixrQkFBa0IsdUJBQXVCLENBQUM7QUEyQnJGLHNGQUFzRixHQUN0RixNQUFNSyx3QkFBd0IsQ0FBQ0MsT0FBZUMsV0FBbUJDO0lBQy9ELE1BQU1DLE1BQU0sSUFBSUMsSUFBSUo7SUFFcEIsSUFBR0csSUFBSUUsTUFBTSxLQUFLWCxxQkFBcUJTLElBQUlHLFFBQVEsSUFBSUgsSUFBSUksUUFBUSxJQUNqRUosSUFBSUssUUFBUSxLQUFLLENBQUMsVUFBVSxFQUFFUCxV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
|
|
@@ -129,4 +129,4 @@ export const generateOpenAIImage = async (_context, input, config)=>{
|
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
131
|
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9pbWFnZUdlbmVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwb3N0fSBmcm9tICdAbmxhYnMvcmlwLWh1bnRlcic7XG5pbXBvcnQge3JhbmRvbVVVSUR9IGZyb20gJ25vZGU6Y3J5cHRvJztcblxuaW1wb3J0IHt2YWxpZGF0ZUdlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Z2V0SGlnZ3NmaWVsZE1vZGVsfSBmcm9tICcuLi9hZGFwdGVycy9oaWdnc2ZpZWxkTW9kZWxDYXRhbG9nLmpzJztcbmltcG9ydCB7dmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0fSBmcm9tICcuLi9hZGFwdGVycy9pbWFnZUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtDb250ZW50R2VuZXJhdGlvblJlamVjdGVkRXJyb3IsIGdlbmVyYXRlQ29udGVudH0gZnJvbSAnLi9jb250ZW50R2VuZXJhdGlvbi5qcyc7XG5pbXBvcnQge2dlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsLCBnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlLCBnZW5lcmF0ZVNvdWxJbWFnZX0gZnJvbSAnLi9oaWdnc2ZpZWxkLmpzJztcblxuaW1wb3J0IHR5cGUge0dlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB0eXBlIHtNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0LCBTb3VsSW1hZ2VJbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge09wZW5BSUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2ltYWdlR2VuZXJhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG4vKiogT25seSBhbiBleHBsaWNpdCBwcm92aWRlciByZWplY3Rpb24gcHJvdmVzIGl0IGlzIHNhZmUgdG8gcmVsZWFzZSBhIHJlc2VydmF0aW9uLiAqL1xuZXhwb3J0IGNsYXNzIEltYWdlR2VuZXJhdGlvblJlamVjdGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgdHlwZSBHZW5lcmF0ZUltYWdlSW5wdXQgPVxuICB8IHttb2RlbDogc3RyaW5nOyBtb2RlbElucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ31cbiAgfCAoR2VtaW5pSW1hZ2VJbnB1dCAmIHtwcm92aWRlcjogJ2dlbWluaSd9KVxuICB8IChPcGVuQUlJbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnb3BlbmFpJ30pXG4gIHwgKFNvdWxJbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnaGlnZ3NmaWVsZCc7IGltYWdlVXJscz86IHVuZGVmaW5lZH0pXG4gIHwgKE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQgJiB7cHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ30pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlR2VuZXJhdGlvblJlc3VsdCB7XG4gIGNhbmNlbFVybD86IHN0cmluZztcbiAgaW1hZ2VCYXNlNjQ/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogJ2ltYWdlL2pwZWcnIHwgJ2ltYWdlL3BuZyc7XG4gIHByb3ZpZGVyOiAnZ2VtaW5pJyB8ICdoaWdnc2ZpZWxkJyB8ICdvcGVuYWknO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgc3RhdHVzOiAncXVldWVkJyB8ICdjb21wbGV0ZWQnO1xuICBzdGF0dXNVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZU9wZW5BSUltYWdlID0gYXN5bmMgKFxuICBfY29udGV4dDogQXBpQ29udGV4dCwgaW5wdXQ6IE9wZW5BSUltYWdlSW5wdXQsIGNvbmZpZz86IHtrZXk/OiBzdHJpbmc7IG1vZGVsPzogc3RyaW5nfVxuKTogUHJvbWlzZTxJbWFnZUdlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0KGlucHV0KTtcbiAgY29uc3Qga2V5ID0gY29uZmlnPy5rZXkgfHwgQ29uZmlnLmdldDxzdHJpbmc+KCdvcGVuYWkuYXBpS2V5Jyk7XG4gIGlmKCFrZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ09wZW5BSSBpbWFnZSBnZW5lcmF0aW9uIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICB9XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdCgnaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MS9pbWFnZXMvZ2VuZXJhdGlvbnMnLCB7XG4gICAgbW9kZWw6IHZhbGlkYXRlZC5tb2RlbCB8fCBjb25maWc/Lm1vZGVsIHx8IENvbmZpZy5nZXQ8c3RyaW5nPignb3BlbmFpLmltYWdlTW9kZWwnKSB8fCAnZ3B0LWltYWdlLTEuNScsXG4gICAgbjogMSxcbiAgICBvdXRwdXRfZm9ybWF0OiAncG5nJyxcbiAgICBwcm9tcHQ6IHZhbGlkYXRlZC5wcm9tcHQsXG4gICAgcXVhbGl0eTogdmFsaWRhdGVkLnF1YWxpdHksXG4gICAgc2l6ZTogdmFsaWRhdGVkLnNpemVcbiAgfSwge2NhY2hlOiBmYWxzZSwgaGVhZGVyczogbmV3IEhlYWRlcnMoe0F1dGhvcml6YXRpb246IGBCZWFyZXIgJHtrZXl9YH0pLCB0aW1lb3V0OiAxODBfMDAwfSkgYXMge1xuICAgIGRhdGE/OiB7YjY0X2pzb24/OiBzdHJpbmd9W107XG4gICAgZXJyb3I/OiB7dHlwZT86IHN0cmluZ307XG4gIH07XG4gIGlmKHJlc3BvbnNlLmVycm9yICYmIFsnaW52YWxpZF9yZXF1ZXN0X2Vycm9yJywgJ2F1dGhlbnRpY2F0aW9uX2Vycm9yJywgJ3Blcm1pc3Npb25fZXJyb3InXS5pbmNsdWRlcyhyZXNwb25zZS5lcnJvci50eXBlIHx8ICcnKSkge1xuICAgIHRocm93IG5ldyBJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yKCdPcGVuQUkgcmVqZWN0ZWQgdGhlIGltYWdlIHJlcXVlc3QuIENoZWNrIG1vZGVsIGFjY2VzcyBhbmQgcHJvbXB0LicpO1xuICB9XG4gIGNvbnN0IGVuY29kZWQgPSByZXNwb25zZS5kYXRhPy5bMF0/LmI2NF9qc29uO1xuICBpZihyZXNwb25zZS5lcnJvciB8fCAhZW5jb2RlZCB8fCBlbmNvZGVkLmxlbmd0aCA+IDQwICogMTAyNCAqIDEwMjQgfHwgIS9eW0EtWmEtejAtOSsvXSs9ezAsMn0kLy50ZXN0KGVuY29kZWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPcGVuQUkgaW1hZ2Ugb3V0cHV0IGNvdWxkIG5vdCBiZSB2ZXJpZmllZC4nKTtcbiAgfVxuICBpZighQnVmZmVyLmZyb20oZW5jb2RlZCwgJ2Jhc2U2NCcpLnN1YmFycmF5KDAsIDgpLmVxdWFscyhCdWZmZXIuZnJvbShbMTM3LCA4MCwgNzgsIDcxLCAxMywgMTAsIDI2LCAxMF0pKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignT3BlbkFJIGRpZCBub3QgcmV0dXJuIFBORyBpbWFnZSBieXRlcy4nKTtcbiAgfVxuICByZXR1cm4ge2ltYWdlQmFzZTY0OiBlbmNvZGVkLCBwcm92aWRlcjogJ29wZW5haScsIHJlcXVlc3RJZDogYG9wZW5haS0ke3JhbmRvbVVVSUQoKX1gLCBzdGF0dXM6ICdjb21wbGV0ZWQnfTtcbn07XG5cbi8qKiBQcm92aWRlciBzZWxlY3Rpb24gaXMgZGF0YTsgY3JlZGVudGlhbHMgYW5kIHBhaWQtam9iIG9yY2hlc3RyYXRpb24gc3RheSBzZXJ2ZXItc2lkZS4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUltYWdlID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW5lcmF0ZUltYWdlSW5wdXQpOiBQcm9taXNlPEltYWdlR2VuZXJhdGlvblJlc3VsdD4gPT4ge1xuICBpZihpbnB1dC5wcm92aWRlciA9PT0gJ2hpZ2dzZmllbGQnICYmICdtb2RlbElucHV0JyBpbiBpbnB1dCAmJiB0eXBlb2YgaW5wdXQubW9kZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYoZ2V0SGlnZ3NmaWVsZE1vZGVsKGlucHV0Lm1vZGVsKS5raW5kICE9PSAnaW1hZ2UnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nob29zZSBhbiBpbWFnZSBtb2RlbC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5hd2FpdCBnZW5lcmF0ZUhpZ2dzZmllbGRNb2RlbChjb250ZXh0LCBpbnB1dC5tb2RlbCwgaW5wdXQubW9kZWxJbnB1dCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiksIHByb3ZpZGVyOiAnaGlnZ3NmaWVsZCcsIHN0YXR1czogJ3F1ZXVlZCd9O1xuICB9XG4gIGNvbnN0IHtwcm92aWRlciwgLi4ub3B0aW9uc30gPSBpbnB1dDtcbiAgaWYocHJvdmlkZXIgPT09ICdnZW1pbmknKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlR2VtaW5pSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBHZW1pbmlJbWFnZUlucHV0KTtcbiAgfVxuICBpZihwcm92aWRlciA9PT0gJ29wZW5haScpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVPcGVuQUlJbWFnZShjb250ZXh0LCBvcHRpb25zIGFzIE9wZW5BSUltYWdlSW5wdXQpO1xuICB9XG4gIGlmKHByb3ZpZGVyICE9PSAnaGlnZ3NmaWVsZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGltYWdlIHByb3ZpZGVyLicpO1xuICB9XG4gIGNvbnN0IHJlcXVlc3QgPSAnaW1hZ2VVcmxzJyBpbiBvcHRpb25zICYmIG9wdGlvbnMuaW1hZ2VVcmxzPy5sZW5ndGhcbiAgICA/IGF3YWl0IGdlbmVyYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0KVxuICAgIDogYXdhaXQgZ2VuZXJhdGVTb3VsSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBTb3VsSW1hZ2VJbnB1dCk7XG4gIHJldHVybiB7Li4ucmVxdWVzdCwgcHJvdmlkZXIsIHN0YXR1czogJ3F1ZXVlZCd9O1xufTtcblxuLyoqIFJldXNlcyB0aGUgR2VtaW5pIGNvbnRlbnQgcHJvdG9jb2wgd2hpbGUgcHJlc2VydmluZyB0aGUgZ2VuZXJpYyBpbWFnZSByZXN1bHQgc2hhcGUuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVHZW1pbmlJbWFnZSA9IGFzeW5jIChcbiAgX2NvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW1pbmlJbWFnZUlucHV0LCBjb25maWc/OiB7a2V5Pzogc3RyaW5nOyBtb2RlbD86IHN0cmluZ31cbik6IFByb21pc2U8SW1hZ2VHZW5lcmF0aW9uUmVzdWx0PiA9PiB7XG4gIGNvbnN0IHZhbGlkYXRlZCA9IHZhbGlkYXRlR2VtaW5pSW1hZ2VJbnB1dChpbnB1dCk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2VuZXJhdGVDb250ZW50KHsuLi52YWxpZGF0ZWQsIG1vZGFsaXR5OiAnaW1hZ2UnLCBwcm92aWRlcjogJ2dlbWluaSd9LCB7XG4gICAgICBnZW1pbmlJbWFnZU1vZGVsOiBjb25maWc/Lm1vZGVsIHx8IENvbmZpZy5nZXQ8c3RyaW5nPignY29udGVudEdlbmVyYXRpb24uZ2VtaW5pSW1hZ2VNb2RlbCcpLFxuICAgICAgZ2VtaW5pS2V5OiBjb25maWc/LmtleSB8fCBDb25maWcuZ2V0PHN0cmluZz4oJ2NvbnRlbnRHZW5lcmF0aW9uLmdlbWluaUtleScpXG4gICAgfSk7XG4gICAgY29uc3Qge2ltYWdlfSA9IHJlc3VsdDtcbiAgICBpZighaW1hZ2UgfHwgIShpbWFnZS5taW1lID09PSAnaW1hZ2UvcG5nJ1xuICAgICAgPyBpbWFnZS5ieXRlcy5zdWJhcnJheSgwLCA4KS5lcXVhbHMoQnVmZmVyLmZyb20oWzEzNywgODAsIDc4LCA3MSwgMTMsIDEwLCAyNiwgMTBdKSlcbiAgICAgIDogaW1hZ2UuYnl0ZXMuc3ViYXJyYXkoMCwgMykuZXF1YWxzKEJ1ZmZlci5mcm9tKFsyNTUsIDIxNiwgMjU1XSkpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHZW1pbmkgaW1hZ2Ugb3V0cHV0IGNvdWxkIG5vdCBiZSB2ZXJpZmllZC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtpbWFnZUJhc2U2NDogaW1hZ2UuYnl0ZXMudG9TdHJpbmcoJ2Jhc2U2NCcpLCBtaW1lVHlwZTogaW1hZ2UubWltZSwgcHJvdmlkZXI6ICdnZW1pbmknLCByZXF1ZXN0SWQ6IGBnZW1pbmktJHtyYW5kb21VVUlEKCl9YCwgc3RhdHVzOiAnY29tcGxldGVkJ307XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIENvbnRlbnRHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEltYWdlR2VuZXJhdGlvblJlamVjdGVkRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbInBvc3QiLCJyYW5kb21VVUlEIiwidmFsaWRhdGVHZW1pbmlJbWFnZUlucHV0IiwiZ2V0SGlnZ3NmaWVsZE1vZGVsIiwidmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0IiwiQ29uZmlnIiwiQ29udGVudEdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiZ2VuZXJhdGVDb250ZW50IiwiZ2VuZXJhdGVIaWdnc2ZpZWxkTW9kZWwiLCJnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlIiwiZ2VuZXJhdGVTb3VsSW1hZ2UiLCJJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiRXJyb3IiLCJnZW5lcmF0ZU9wZW5BSUltYWdlIiwiX2NvbnRleHQiLCJpbnB1dCIsImNvbmZpZyIsInZhbGlkYXRlZCIsImtleSIsImdldCIsInJlc3BvbnNlIiwibW9kZWwiLCJuIiwib3V0cHV0X2Zvcm1hdCIsInByb21wdCIsInF1YWxpdHkiLCJzaXplIiwiY2FjaGUiLCJoZWFkZXJzIiwiSGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJ0aW1lb3V0IiwiZXJyb3IiLCJpbmNsdWRlcyIsInR5cGUiLCJlbmNvZGVkIiwiZGF0YSIsImI2NF9qc29uIiwibGVuZ3RoIiwidGVzdCIsIkJ1ZmZlciIsImZyb20iLCJzdWJhcnJheSIsImVxdWFscyIsImltYWdlQmFzZTY0IiwicHJvdmlkZXIiLCJyZXF1ZXN0SWQiLCJzdGF0dXMiLCJnZW5lcmF0ZUltYWdlIiwiY29udGV4dCIsImtpbmQiLCJtb2RlbElucHV0Iiwib3B0aW9ucyIsImdlbmVyYXRlR2VtaW5pSW1hZ2UiLCJyZXF1ZXN0IiwiaW1hZ2VVcmxzIiwicmVzdWx0IiwibW9kYWxpdHkiLCJnZW1pbmlJbWFnZU1vZGVsIiwiZ2VtaW5pS2V5IiwiaW1hZ2UiLCJtaW1lIiwiYnl0ZXMiLCJ0b1N0cmluZyIsIm1pbWVUeXBlIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsSUFBSSxRQUFPLG9CQUFvQjtBQUN2QyxTQUFRQyxVQUFVLFFBQU8sY0FBYztBQUV2QyxTQUFRQyx3QkFBd0IsUUFBTyx5Q0FBeUM7QUFDaEYsU0FBUUMsa0JBQWtCLFFBQU8sd0NBQXdDO0FBQ3pFLFNBQVFDLHdCQUF3QixRQUFPLHdDQUF3QztBQUMvRSxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUNwQyxTQUFRQyw4QkFBOEIsRUFBRUMsZUFBZSxRQUFPLHlCQUF5QjtBQUN2RixTQUFRQyx1QkFBdUIsRUFBRUMsNEJBQTRCLEVBQUVDLGlCQUFpQixRQUFPLGtCQUFrQjtBQU96RyxvRkFBb0YsR0FDcEYsT0FBTyxNQUFNQyxxQ0FBcUNDO0FBQU87QUFtQnpELE9BQU8sTUFBTUMsc0JBQXNCLE9BQ2pDQyxVQUFzQkMsT0FBeUJDO0lBRS9DLE1BQU1DLFlBQVliLHlCQUF5Qlc7SUFDM0MsTUFBTUcsTUFBTUYsUUFBUUUsT0FBT2IsT0FBT2MsR0FB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
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9wcml2YXRlL3RtcC92YXVsdC1yZWFrdG9yLWNvbXBsZXRpb24vcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9pbWFnZUdlbmVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwb3N0fSBmcm9tICdAbmxhYnMvcmlwLWh1bnRlcic7XG5pbXBvcnQge3JhbmRvbVVVSUR9IGZyb20gJ25vZGU6Y3J5cHRvJztcblxuaW1wb3J0IHt2YWxpZGF0ZUdlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Z2V0SGlnZ3NmaWVsZE1vZGVsfSBmcm9tICcuLi9hZGFwdGVycy9oaWdnc2ZpZWxkTW9kZWxDYXRhbG9nLmpzJztcbmltcG9ydCB7dmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0fSBmcm9tICcuLi9hZGFwdGVycy9pbWFnZUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtDb250ZW50R2VuZXJhdGlvblJlamVjdGVkRXJyb3IsIGdlbmVyYXRlQ29udGVudH0gZnJvbSAnLi9jb250ZW50R2VuZXJhdGlvbi5qcyc7XG5pbXBvcnQge2dlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsLCBnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlLCBnZW5lcmF0ZVNvdWxJbWFnZX0gZnJvbSAnLi9oaWdnc2ZpZWxkLmpzJztcblxuaW1wb3J0IHR5cGUge0dlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB0eXBlIHtNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0LCBTb3VsSW1hZ2VJbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge09wZW5BSUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2ltYWdlR2VuZXJhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG4vKiogT25seSBhbiBleHBsaWNpdCBwcm92aWRlciByZWplY3Rpb24gcHJvdmVzIGl0IGlzIHNhZmUgdG8gcmVsZWFzZSBhIHJlc2VydmF0aW9uLiAqL1xuZXhwb3J0IGNsYXNzIEltYWdlR2VuZXJhdGlvblJlamVjdGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgdHlwZSBHZW5lcmF0ZUltYWdlSW5wdXQgPVxuICB8IHttb2RlbDogc3RyaW5nOyBtb2RlbElucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ31cbiAgfCAoR2VtaW5pSW1hZ2VJbnB1dCAmIHtwcm92aWRlcjogJ2dlbWluaSd9KVxuICB8IChPcGVuQUlJbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnb3BlbmFpJ30pXG4gIHwgKFNvdWxJbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnaGlnZ3NmaWVsZCc7IGltYWdlVXJscz86IHVuZGVmaW5lZH0pXG4gIHwgKE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQgJiB7cHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ30pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlR2VuZXJhdGlvblJlc3VsdCB7XG4gIGNhbmNlbFVybD86IHN0cmluZztcbiAgaW1hZ2VCYXNlNjQ/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogJ2ltYWdlL2pwZWcnIHwgJ2ltYWdlL3BuZyc7XG4gIHByb3ZpZGVyOiAnZ2VtaW5pJyB8ICdoaWdnc2ZpZWxkJyB8ICdvcGVuYWknO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgc3RhdHVzOiAncXVldWVkJyB8ICdjb21wbGV0ZWQnO1xuICBzdGF0dXNVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZU9wZW5BSUltYWdlID0gYXN5bmMgKFxuICBfY29udGV4dDogQXBpQ29udGV4dCwgaW5wdXQ6IE9wZW5BSUltYWdlSW5wdXQsIGNvbmZpZz86IHtrZXk/OiBzdHJpbmc7IG1vZGVsPzogc3RyaW5nfVxuKTogUHJvbWlzZTxJbWFnZUdlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0KGlucHV0KTtcbiAgY29uc3Qga2V5ID0gY29uZmlnPy5rZXkgfHwgQ29uZmlnLmdldDxzdHJpbmc+KCdvcGVuYWkuYXBpS2V5Jyk7XG4gIGlmKCFrZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ09wZW5BSSBpbWFnZSBnZW5lcmF0aW9uIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICB9XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdCgnaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MS9pbWFnZXMvZ2VuZXJhdGlvbnMnLCB7XG4gICAgbW9kZWw6IHZhbGlkYXRlZC5tb2RlbCB8fCBjb25maWc/Lm1vZGVsIHx8IENvbmZpZy5nZXQ8c3RyaW5nPignb3BlbmFpLmltYWdlTW9kZWwnKSB8fCAnZ3B0LWltYWdlLTEuNScsXG4gICAgbjogMSxcbiAgICBvdXRwdXRfZm9ybWF0OiAncG5nJyxcbiAgICBwcm9tcHQ6IHZhbGlkYXRlZC5wcm9tcHQsXG4gICAgcXVhbGl0eTogdmFsaWRhdGVkLnF1YWxpdHksXG4gICAgc2l6ZTogdmFsaWRhdGVkLnNpemVcbiAgfSwge2NhY2hlOiBmYWxzZSwgaGVhZGVyczogbmV3IEhlYWRlcnMoe0F1dGhvcml6YXRpb246IGBCZWFyZXIgJHtrZXl9YH0pLCB0aW1lb3V0OiAxODBfMDAwfSkgYXMge1xuICAgIGRhdGE/OiB7YjY0X2pzb24/OiBzdHJpbmd9W107XG4gICAgZXJyb3I/OiB7dHlwZT86IHN0cmluZ307XG4gIH07XG4gIGlmKHJlc3BvbnNlLmVycm9yICYmIFsnaW52YWxpZF9yZXF1ZXN0X2Vycm9yJywgJ2F1dGhlbnRpY2F0aW9uX2Vycm9yJywgJ3Blcm1pc3Npb25fZXJyb3InXS5pbmNsdWRlcyhyZXNwb25zZS5lcnJvci50eXBlIHx8ICcnKSkge1xuICAgIHRocm93IG5ldyBJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yKCdPcGVuQUkgcmVqZWN0ZWQgdGhlIGltYWdlIHJlcXVlc3QuIENoZWNrIG1vZGVsIGFjY2VzcyBhbmQgcHJvbXB0LicpO1xuICB9XG4gIGNvbnN0IGVuY29kZWQgPSByZXNwb25zZS5kYXRhPy5bMF0/LmI2NF9qc29uO1xuICBpZihyZXNwb25zZS5lcnJvciB8fCAhZW5jb2RlZCB8fCBlbmNvZGVkLmxlbmd0aCA+IDQwICogMTAyNCAqIDEwMjQgfHwgIS9eW0EtWmEtejAtOSsvXSs9ezAsMn0kLy50ZXN0KGVuY29kZWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPcGVuQUkgaW1hZ2Ugb3V0cHV0IGNvdWxkIG5vdCBiZSB2ZXJpZmllZC4nKTtcbiAgfVxuICBpZighQnVmZmVyLmZyb20oZW5jb2RlZCwgJ2Jhc2U2NCcpLnN1YmFycmF5KDAsIDgpLmVxdWFscyhCdWZmZXIuZnJvbShbMTM3LCA4MCwgNzgsIDcxLCAxMywgMTAsIDI2LCAxMF0pKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignT3BlbkFJIGRpZCBub3QgcmV0dXJuIFBORyBpbWFnZSBieXRlcy4nKTtcbiAgfVxuICByZXR1cm4ge2ltYWdlQmFzZTY0OiBlbmNvZGVkLCBwcm92aWRlcjogJ29wZW5haScsIHJlcXVlc3RJZDogYG9wZW5haS0ke3JhbmRvbVVVSUQoKX1gLCBzdGF0dXM6ICdjb21wbGV0ZWQnfTtcbn07XG5cbi8qKiBQcm92aWRlciBzZWxlY3Rpb24gaXMgZGF0YTsgY3JlZGVudGlhbHMgYW5kIHBhaWQtam9iIG9yY2hlc3RyYXRpb24gc3RheSBzZXJ2ZXItc2lkZS4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUltYWdlID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW5lcmF0ZUltYWdlSW5wdXQpOiBQcm9taXNlPEltYWdlR2VuZXJhdGlvblJlc3VsdD4gPT4ge1xuICBpZihpbnB1dC5wcm92aWRlciA9PT0gJ2hpZ2dzZmllbGQnICYmICdtb2RlbElucHV0JyBpbiBpbnB1dCAmJiB0eXBlb2YgaW5wdXQubW9kZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYoZ2V0SGlnZ3NmaWVsZE1vZGVsKGlucHV0Lm1vZGVsKS5raW5kICE9PSAnaW1hZ2UnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nob29zZSBhbiBpbWFnZSBtb2RlbC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5hd2FpdCBnZW5lcmF0ZUhpZ2dzZmllbGRNb2RlbChjb250ZXh0LCBpbnB1dC5tb2RlbCwgaW5wdXQubW9kZWxJbnB1dCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiksIHByb3ZpZGVyOiAnaGlnZ3NmaWVsZCcsIHN0YXR1czogJ3F1ZXVlZCd9O1xuICB9XG4gIGNvbnN0IHtwcm92aWRlciwgLi4ub3B0aW9uc30gPSBpbnB1dDtcbiAgaWYocHJvdmlkZXIgPT09ICdnZW1pbmknKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlR2VtaW5pSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBHZW1pbmlJbWFnZUlucHV0KTtcbiAgfVxuICBpZihwcm92aWRlciA9PT0gJ29wZW5haScpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVPcGVuQUlJbWFnZShjb250ZXh0LCBvcHRpb25zIGFzIE9wZW5BSUltYWdlSW5wdXQpO1xuICB9XG4gIGlmKHByb3ZpZGVyICE9PSAnaGlnZ3NmaWVsZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGltYWdlIHByb3ZpZGVyLicpO1xuICB9XG4gIGNvbnN0IHJlcXVlc3QgPSAnaW1hZ2VVcmxzJyBpbiBvcHRpb25zICYmIG9wdGlvbnMuaW1hZ2VVcmxzPy5sZW5ndGhcbiAgICA/IGF3YWl0IGdlbmVyYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0KVxuICAgIDogYXdhaXQgZ2VuZXJhdGVTb3VsSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBTb3VsSW1hZ2VJbnB1dCk7XG4gIHJldHVybiB7Li4ucmVxdWVzdCwgcHJvdmlkZXIsIHN0YXR1czogJ3F1ZXVlZCd9O1xufTtcblxuLyoqIFJldXNlcyB0aGUgR2VtaW5pIGNvbnRlbnQgcHJvdG9jb2wgd2hpbGUgcHJlc2VydmluZyB0aGUgZ2VuZXJpYyBpbWFnZSByZXN1bHQgc2hhcGUuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVHZW1pbmlJbWFnZSA9IGFzeW5jIChcbiAgX2NvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW1pbmlJbWFnZUlucHV0LCBjb25maWc/OiB7a2V5Pzogc3RyaW5nOyBtb2RlbD86IHN0cmluZ31cbik6IFByb21pc2U8SW1hZ2VHZW5lcmF0aW9uUmVzdWx0PiA9PiB7XG4gIGNvbnN0IHZhbGlkYXRlZCA9IHZhbGlkYXRlR2VtaW5pSW1hZ2VJbnB1dChpbnB1dCk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2VuZXJhdGVDb250ZW50KHsuLi52YWxpZGF0ZWQsIG1vZGFsaXR5OiAnaW1hZ2UnLCBwcm92aWRlcjogJ2dlbWluaSd9LCB7XG4gICAgICBnZW1pbmlJbWFnZU1vZGVsOiBjb25maWc/Lm1vZGVsIHx8IENvbmZpZy5nZXQ8c3RyaW5nPignY29udGVudEdlbmVyYXRpb24uZ2VtaW5pSW1hZ2VNb2RlbCcpLFxuICAgICAgZ2VtaW5pS2V5OiBjb25maWc/LmtleSB8fCBDb25maWcuZ2V0PHN0cmluZz4oJ2NvbnRlbnRHZW5lcmF0aW9uLmdlbWluaUtleScpXG4gICAgfSk7XG4gICAgY29uc3Qge2ltYWdlfSA9IHJlc3VsdDtcbiAgICBpZighaW1hZ2UgfHwgIShpbWFnZS5taW1lID09PSAnaW1hZ2UvcG5nJ1xuICAgICAgPyBpbWFnZS5ieXRlcy5zdWJhcnJheSgwLCA4KS5lcXVhbHMoQnVmZmVyLmZyb20oWzEzNywgODAsIDc4LCA3MSwgMTMsIDEwLCAyNiwgMTBdKSlcbiAgICAgIDogaW1hZ2UuYnl0ZXMuc3ViYXJyYXkoMCwgMykuZXF1YWxzKEJ1ZmZlci5mcm9tKFsyNTUsIDIxNiwgMjU1XSkpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHZW1pbmkgaW1hZ2Ugb3V0cHV0IGNvdWxkIG5vdCBiZSB2ZXJpZmllZC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtpbWFnZUJhc2U2NDogaW1hZ2UuYnl0ZXMudG9TdHJpbmcoJ2Jhc2U2NCcpLCBtaW1lVHlwZTogaW1hZ2UubWltZSwgcHJvdmlkZXI6ICdnZW1pbmknLCByZXF1ZXN0SWQ6IGBnZW1pbmktJHtyYW5kb21VVUlEKCl9YCwgc3RhdHVzOiAnY29tcGxldGVkJ307XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIENvbnRlbnRHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEltYWdlR2VuZXJhdGlvblJlamVjdGVkRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbInBvc3QiLCJyYW5kb21VVUlEIiwidmFsaWRhdGVHZW1pbmlJbWFnZUlucHV0IiwiZ2V0SGlnZ3NmaWVsZE1vZGVsIiwidmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0IiwiQ29uZmlnIiwiQ29udGVudEdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiZ2VuZXJhdGVDb250ZW50IiwiZ2VuZXJhdGVIaWdnc2ZpZWxkTW9kZWwiLCJnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlIiwiZ2VuZXJhdGVTb3VsSW1hZ2UiLCJJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiRXJyb3IiLCJnZW5lcmF0ZU9wZW5BSUltYWdlIiwiX2NvbnRleHQiLCJpbnB1dCIsImNvbmZpZyIsInZhbGlkYXRlZCIsImtleSIsImdldCIsInJlc3BvbnNlIiwibW9kZWwiLCJuIiwib3V0cHV0X2Zvcm1hdCIsInByb21wdCIsInF1YWxpdHkiLCJzaXplIiwiY2FjaGUiLCJoZWFkZXJzIiwiSGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJ0aW1lb3V0IiwiZXJyb3IiLCJpbmNsdWRlcyIsInR5cGUiLCJlbmNvZGVkIiwiZGF0YSIsImI2NF9qc29uIiwibGVuZ3RoIiwidGVzdCIsIkJ1ZmZlciIsImZyb20iLCJzdWJhcnJheSIsImVxdWFscyIsImltYWdlQmFzZTY0IiwicHJvdmlkZXIiLCJyZXF1ZXN0SWQiLCJzdGF0dXMiLCJnZW5lcmF0ZUltYWdlIiwiY29udGV4dCIsImtpbmQiLCJtb2RlbElucHV0Iiwib3B0aW9ucyIsImdlbmVyYXRlR2VtaW5pSW1hZ2UiLCJyZXF1ZXN0IiwiaW1hZ2VVcmxzIiwicmVzdWx0IiwibW9kYWxpdHkiLCJnZW1pbmlJbWFnZU1vZGVsIiwiZ2VtaW5pS2V5IiwiaW1hZ2UiLCJtaW1lIiwiYnl0ZXMiLCJ0b1N0cmluZyIsIm1pbWVUeXBlIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsSUFBSSxRQUFPLG9CQUFvQjtBQUN2QyxTQUFRQyxVQUFVLFFBQU8sY0FBYztBQUV2QyxTQUFRQyx3QkFBd0IsUUFBTyx5Q0FBeUM7QUFDaEYsU0FBUUMsa0JBQWtCLFFBQU8sd0NBQXdDO0FBQ3pFLFNBQVFDLHdCQUF3QixRQUFPLHdDQUF3QztBQUMvRSxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUNwQyxTQUFRQyw4QkFBOEIsRUFBRUMsZUFBZSxRQUFPLHlCQUF5QjtBQUN2RixTQUFRQyx1QkFBdUIsRUFBRUMsNEJBQTRCLEVBQUVDLGlCQUFpQixRQUFPLGtCQUFrQjtBQU96RyxvRkFBb0YsR0FDcEYsT0FBTyxNQUFNQyxxQ0FBcUNDO0FBQU87QUFtQnpELE9BQU8sTUFBTUMsc0JBQXNCLE9BQ2pDQyxVQUFzQkMsT0FBeUJDO0lBRS9DLE1BQU1DLFlBQVliLHlCQUF5Qlc7SUFDM0MsTUFBTUcsTUFBTUYsUUFBUUUsT0FBT2IsT0FBT2MsR0FBRyxDQUFTO0lBQzlDLElBQUcsQ0FBQ0QsS0FBSztRQUNQLE1BQU0sSUFBSU4sTUFBTTtJQUNsQjtJQUNBLE1BQU1RLFdBQVcsTUFBTXBCLEtBQUssZ0RBQWdEO1FBQzFFcUIsT0FBT0osVUFBVUksS0FBSyxJQUFJTCxRQUFRSyxTQUFTaEIsT0FBT2MsR0FBRyxDQUFTLHdCQUF3QjtRQUN0RkcsR0FBRztRQUNIQyxlQUFlO1FBQ2ZDLFFBQVFQLFVBQVVPLE1BQU07UUFDeEJDLFNBQVNSLFVBQVVRLE9BQU87UUFDMUJDLE1BQU1ULFVBQVVTLElBQUk7SUFDdEIsR0FBRztRQUFDQyxPQUFPO1FBQU9DLFNBQVMsSUFBSUMsUUFBUTtZQUFDQyxlQUFlLENBQUMsT0FBTyxFQUFFWixLQUFLO1FBQUE7UUFBSWEsU0FBUztJQUFPO0lBSTFGLElBQUdYLFNBQVNZLEtBQUssSUFBSTtRQUFDO1FBQXlCO1FBQXdCO0tBQW1CLENBQUNDLFFBQVEsQ0FBQ2IsU0FBU1ksS0FBSyxDQUFDRSxJQUFJLElBQUksS0FBSztRQUM5SCxNQUFNLElBQUl2Qiw2QkFBNkI7SUFDekM7SUFDQSxNQUFNd0IsVUFBVWYsU0FBU2dCLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRUM7SUFDcEMsSUFBR2pCLFNBQVNZLEtBQUssSUFBSSxDQUFDRyxXQUFXQSxRQUFRRyxNQUFNLEdBQUcsS0FBSyxPQUFPLFFBQVEsQ0FBQyx5QkFBeUJDLElBQUksQ0FBQ0osVUFBVTtRQUM3RyxNQUFNLElBQUl2QixNQUFNO0lBQ2xCO0lBQ0EsSUFBRyxDQUFDNEIsT0FBT0MsSUFBSSxDQUFDTixTQUFTLFVBQVVPLFFBQVEsQ0FBQyxHQUFHLEdBQUdDLE1BQU0sQ0FBQ0gsT0FBT0MsSUFBSSxDQUFDO1FBQUM7UUFBSztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSTtLQUFHLElBQUk7UUFDeEcsTUFBTSxJQUFJN0IsTUFBTTtJQUNsQjtJQUNBLE9BQU87UUFBQ2dDLGFBQWFUO1FBQVNVLFVBQVU7UUFBVUMsV0FBVyxDQUFDLE9BQU8sRUFBRTdDLGNBQWM7UUFBRThDLFFBQVE7SUFBVztBQUM1RyxFQUFFO0FBRUYseUZBQXlGLEdBQ3pGLE9BQU8sTUFBTUMsZ0JBQWdCLE9BQU9DLFNBQXFCbEM7SUFDdkQsSUFBR0EsTUFBTThCLFFBQVEsS0FBSyxnQkFBZ0IsZ0JBQWdCOUIsU0FBUyxPQUFPQSxNQUFNTSxLQUFLLEtBQUssVUFBVTtRQUM5RixJQUFHbEIsbUJBQW1CWSxNQUFNTSxLQUFLLEVBQUU2QixJQUFJLEtBQUssU0FBUztZQUNuRCxNQUFNLElBQUl0QyxNQUFNO1FBQ2xCO1FBQ0EsT0FBTztZQUFDLEdBQUcsTUFBTUosd0JBQXdCeUMsU0FBU2xDLE1BQU1NLEtBQUssRUFBRU4sTUFBTW9DLFVBQVUsQ0FBNEI7WUFBRU4sVUFBVTtZQUFjRSxRQUFRO1FBQVE7SUFDdko7SUFDQSxNQUFNLEVBQUNGLFFBQVEsRUFBRSxHQUFHTyxTQUFRLEdBQUdyQztJQUMvQixJQUFHOEIsYUFBYSxVQUFVO1FBQ3hCLE9BQU9RLG9CQUFvQkosU0FBU0c7SUFDdEM7SUFDQSxJQUFHUCxhQUFhLFVBQVU7UUFDeEIsT0FBT2hDLG9CQUFvQm9DLFNBQVNHO0lBQ3RDO0lBQ0EsSUFBR1AsYUFBYSxjQUFjO1FBQzVCLE1BQU0sSUFBSWpDLE1BQU07SUFDbEI7SUFDQSxNQUFNMEMsVUFBVSxlQUFlRixXQUFXQSxRQUFRRyxTQUFTLEVBQUVqQixTQUN6RCxNQUFNN0IsNkJBQTZCd0MsU0FBU0csV0FDNUMsTUFBTTFDLGtCQUFrQnVDLFNBQVNHO0lBQ3JDLE9BQU87UUFBQyxHQUFHRSxPQUFPO1FBQUVUO1FBQVVFLFFBQVE7SUFBUTtBQUNoRCxFQUFFO0FBRUYsd0ZBQXdGLEdBQ3hGLE9BQU8sTUFBTU0sc0JBQXNCLE9BQ2pDdkMsVUFBc0JDLE9BQXlCQztJQUUvQyxNQUFNQyxZQUFZZix5QkFBeUJhO0lBQzNDLElBQUk7UUFDRixNQUFNeUMsU0FBUyxNQUFNakQsZ0JBQWdCO1lBQUMsR0FBR1UsU0FBUztZQUFFd0MsVUFBVTtZQUFTWixVQUFVO1FBQVEsR0FBRztZQUMxRmEsa0JBQWtCMUMsUUFBUUssU0FBU2hCLE9BQU9jLEdBQUcsQ0FBUztZQUN0RHdDLFdBQVczQyxRQUFRRSxPQUFPYixPQUFPYyxHQUFHLENBQVM7UUFDL0M7UUFDQSxNQUFNLEVBQUN5QyxLQUFLLEVBQUMsR0FBR0o7UUFDaEIsSUFBRyxDQUFDSSxTQUFTLENBQUVBLENBQUFBLE1BQU1DLElBQUksS0FBSyxjQUMxQkQsTUFBTUUsS0FBSyxDQUFDcEIsUUFBUSxDQUFDLEdBQUcsR0FBR0MsTUFBTSxDQUFDSCxPQUFPQyxJQUFJLENBQUM7WUFBQztZQUFLO1lBQUk7WUFBSTtZQUFJO1lBQUk7WUFBSTtZQUFJO1NBQUcsS0FDL0VtQixNQUFNRSxLQUFLLENBQUNwQixRQUFRLENBQUMsR0FBRyxHQUFHQyxNQUFNLENBQUNILE9BQU9DLElBQUksQ0FBQztZQUFDO1lBQUs7WUFBSztTQUFJLEVBQUMsR0FBSTtZQUNwRSxNQUFNLElBQUk3QixNQUFNO1FBQ2xCO1FBQ0EsT0FBTztZQUFDZ0MsYUFBYWdCLE1BQU1FLEtBQUssQ0FBQ0MsUUFBUSxDQUFDO1lBQVdDLFVBQVVKLE1BQU1DLElBQUk7WUFBRWhCLFVBQVU7WUFBVUMsV0FBVyxDQUFDLE9BQU8sRUFBRTdDLGNBQWM7WUFBRThDLFFBQVE7UUFBVztJQUN6SixFQUFFLE9BQU1mLE9BQU87UUFDYixJQUFHQSxpQkFBaUIxQixnQ0FBZ0M7WUFDbEQsTUFBTSxJQUFJSyw2QkFBNkJxQixNQUFNaUMsT0FBTztRQUN0RDtRQUNBLE1BQU1qQztJQUNSO0FBQ0YsRUFBRSJ9
|