parse-server 7.1.0-alpha.8 → 7.1.0-beta.1
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/README.md +1 -1
- package/lib/AccountLockout.js +2 -2
- package/lib/Adapters/Auth/apple.js +1 -1
- package/lib/Adapters/Auth/facebook.js +1 -1
- package/lib/Adapters/Auth/gcenter.js +1 -1
- package/lib/Adapters/Auth/google.js +1 -1
- package/lib/Adapters/Auth/gpgames.js +1 -1
- package/lib/Adapters/Auth/index.js +2 -2
- package/lib/Adapters/Auth/instagram.js +1 -1
- package/lib/Adapters/Auth/keycloak.js +1 -1
- package/lib/Adapters/Auth/ldap.js +1 -1
- package/lib/Adapters/Auth/mfa.js +2 -2
- package/lib/Adapters/Auth/utils.js +1 -1
- package/lib/Adapters/Cache/LRUCache.js +2 -2
- package/lib/Adapters/Cache/RedisCacheAdapter.js +2 -2
- package/lib/Adapters/Files/FilesAdapter.js +2 -2
- package/lib/Adapters/Files/GridFSBucketAdapter.js +2 -2
- package/lib/Adapters/Logger/WinstonLogger.js +2 -2
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +2 -2
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +2 -2
- package/lib/Adapters/PubSub/RedisPubSub.js +2 -2
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +6 -6
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +6 -6
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +3 -3
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +17 -10
- package/lib/Auth.js +16 -8
- package/lib/Config.js +2 -2
- package/lib/Controllers/AnalyticsController.js +2 -2
- package/lib/Controllers/CacheController.js +2 -2
- package/lib/Controllers/DatabaseController.js +5 -5
- package/lib/Controllers/FilesController.js +2 -2
- package/lib/Controllers/HooksController.js +2 -2
- package/lib/Controllers/LiveQueryController.js +1 -1
- package/lib/Controllers/LoggerController.js +2 -2
- package/lib/Controllers/ParseGraphQLController.js +5 -5
- package/lib/Controllers/PushController.js +2 -2
- package/lib/Controllers/SchemaController.js +4 -4
- package/lib/Controllers/UserController.js +3 -3
- package/lib/Controllers/index.js +3 -3
- package/lib/Deprecator/Deprecator.js +2 -2
- package/lib/GraphQL/ParseGraphQLSchema.js +2 -2
- package/lib/GraphQL/ParseGraphQLServer.js +2 -2
- package/lib/GraphQL/helpers/objectsMutations.js +2 -2
- package/lib/GraphQL/helpers/objectsQueries.js +2 -2
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +3 -3
- package/lib/GraphQL/loaders/defaultRelaySchema.js +3 -3
- package/lib/GraphQL/loaders/filesMutations.js +3 -3
- package/lib/GraphQL/loaders/functionsMutations.js +3 -3
- package/lib/GraphQL/loaders/parseClassMutations.js +3 -3
- package/lib/GraphQL/loaders/parseClassQueries.js +2 -2
- package/lib/GraphQL/loaders/parseClassTypes.js +3 -3
- package/lib/GraphQL/loaders/schemaDirectives.js +1 -1
- package/lib/GraphQL/loaders/schemaMutations.js +2 -2
- package/lib/GraphQL/loaders/schemaQueries.js +2 -2
- package/lib/GraphQL/loaders/schemaTypes.js +1 -1
- package/lib/GraphQL/loaders/usersMutations.js +3 -3
- package/lib/GraphQL/loaders/usersQueries.js +2 -2
- package/lib/GraphQL/parseGraphQLUtils.js +2 -2
- package/lib/GraphQL/transformers/mutation.js +3 -3
- package/lib/GraphQL/transformers/query.js +2 -2
- package/lib/GraphQL/transformers/schemaFields.js +3 -3
- package/lib/LiveQuery/Client.js +2 -2
- package/lib/LiveQuery/ParseCloudCodePublisher.js +2 -2
- package/lib/LiveQuery/ParseLiveQueryServer.js +2 -2
- package/lib/LiveQuery/ParseWebSocketServer.js +2 -2
- package/lib/LiveQuery/QueryTools.js +3 -2
- package/lib/LiveQuery/SessionTokenCache.js +2 -2
- package/lib/LiveQuery/Subscription.js +2 -2
- package/lib/Options/Definitions.js +2 -2
- package/lib/Options/docs.js +2 -2
- package/lib/Options/index.js +1 -1
- package/lib/Options/parsers.js +1 -1
- package/lib/ParseServer.js +3 -3
- package/lib/ParseServerRESTController.js +2 -2
- package/lib/PromiseRouter.js +2 -2
- package/lib/Push/PushQueue.js +2 -2
- package/lib/Push/PushWorker.js +2 -2
- package/lib/Push/utils.js +2 -2
- package/lib/RestQuery.js +1 -1
- package/lib/RestWrite.js +3 -3
- package/lib/Routers/AggregateRouter.js +2 -2
- package/lib/Routers/AnalyticsRouter.js +2 -2
- package/lib/Routers/AudiencesRouter.js +2 -2
- package/lib/Routers/ClassesRouter.js +2 -2
- package/lib/Routers/CloudCodeRouter.js +2 -2
- package/lib/Routers/FeaturesRouter.js +2 -2
- package/lib/Routers/FilesRouter.js +2 -2
- package/lib/Routers/FunctionsRouter.js +2 -2
- package/lib/Routers/GlobalConfigRouter.js +2 -2
- package/lib/Routers/GraphQLRouter.js +2 -2
- package/lib/Routers/HooksRouter.js +2 -2
- package/lib/Routers/IAPValidationRouter.js +2 -2
- package/lib/Routers/InstallationsRouter.js +2 -2
- package/lib/Routers/LogsRouter.js +2 -2
- package/lib/Routers/PagesRouter.js +2 -2
- package/lib/Routers/PublicAPIRouter.js +2 -2
- package/lib/Routers/PurgeRouter.js +2 -2
- package/lib/Routers/PushRouter.js +2 -2
- package/lib/Routers/RolesRouter.js +2 -2
- package/lib/Routers/SchemasRouter.js +2 -2
- package/lib/Routers/SecurityRouter.js +2 -2
- package/lib/Routers/SessionsRouter.js +2 -2
- package/lib/Routers/UsersRouter.js +3 -3
- package/lib/SchemaMigrations/DefinedSchemas.js +3 -3
- package/lib/Security/Check.js +2 -2
- package/lib/Security/CheckGroup.js +1 -1
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +2 -2
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +2 -2
- package/lib/Security/CheckGroups/CheckGroups.js +2 -2
- package/lib/Security/CheckRunner.js +2 -2
- package/lib/SharedRest.js +1 -1
- package/lib/StatusHandler.js +3 -3
- package/lib/TestUtils.js +2 -2
- package/lib/Utils.js +1 -1
- package/lib/cli/parse-live-query-server.js +2 -2
- package/lib/cli/parse-server.js +2 -2
- package/lib/cli/utils/commander.js +2 -2
- package/lib/cli/utils/runner.js +2 -2
- package/lib/cloud-code/Parse.Cloud.js +2 -2
- package/lib/deprecated.js +1 -1
- package/lib/index.js +2 -2
- package/lib/logger.js +2 -2
- package/lib/middlewares.js +2 -2
- package/lib/request.js +2 -2
- package/lib/triggers.js +3 -3
- package/package.json +7 -6
|
@@ -9,7 +9,7 @@ var _AdaptableController = _interopRequireDefault(require("./AdaptableController
|
|
|
9
9
|
var _FilesAdapter = require("../Adapters/Files/FilesAdapter");
|
|
10
10
|
var _path = _interopRequireDefault(require("path"));
|
|
11
11
|
var _mime = _interopRequireDefault(require("mime"));
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
// FilesController.js
|
|
14
14
|
|
|
15
15
|
const Parse = require('parse').Parse;
|
|
@@ -103,4 +103,4 @@ class FilesController extends _AdaptableController.default {
|
|
|
103
103
|
}
|
|
104
104
|
exports.FilesController = FilesController;
|
|
105
105
|
var _default = exports.default = FilesController;
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3J5cHRvVXRpbHMiLCJyZXF1aXJlIiwiX0FkYXB0YWJsZUNvbnRyb2xsZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0ZpbGVzQWRhcHRlciIsIl9wYXRoIiwiX21pbWUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlBhcnNlIiwibGVnYWN5RmlsZXNSZWdleCIsIlJlZ0V4cCIsIkZpbGVzQ29udHJvbGxlciIsIkFkYXB0YWJsZUNvbnRyb2xsZXIiLCJnZXRGaWxlRGF0YSIsImNvbmZpZyIsImZpbGVuYW1lIiwiYWRhcHRlciIsImNyZWF0ZUZpbGUiLCJkYXRhIiwiY29udGVudFR5cGUiLCJvcHRpb25zIiwiZXh0bmFtZSIsInBhdGgiLCJoYXNFeHRlbnNpb24iLCJsZW5ndGgiLCJtaW1lIiwiZ2V0RXh0ZW5zaW9uIiwiZ2V0VHlwZSIsInByZXNlcnZlRmlsZU5hbWUiLCJyYW5kb21IZXhTdHJpbmciLCJsb2NhdGlvbiIsImdldEZpbGVMb2NhdGlvbiIsInRoZW4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInVybCIsIm5hbWUiLCJkZWxldGVGaWxlIiwiZ2V0TWV0YWRhdGEiLCJleHBhbmRGaWxlc0luT2JqZWN0Iiwib2JqZWN0IiwiQXJyYXkiLCJtYXAiLCJrZXkiLCJmaWxlT2JqZWN0IiwiZmlsZUtleSIsInVuZGVmaW5lZCIsImluZGV4T2YiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ0ZXN0IiwiZXhwZWN0ZWRBZGFwdGVyVHlwZSIsIkZpbGVzQWRhcHRlciIsImhhbmRsZUZpbGVTdHJlYW0iLCJyZXEiLCJyZXMiLCJ2YWxpZGF0ZUZpbGVuYW1lIiwiZXJyb3IiLCJFcnJvciIsIklOVkFMSURfRklMRV9OQU1FIiwiZXhwb3J0cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbnRyb2xsZXJzL0ZpbGVzQ29udHJvbGxlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGaWxlc0NvbnRyb2xsZXIuanNcbmltcG9ydCB7IHJhbmRvbUhleFN0cmluZyB9IGZyb20gJy4uL2NyeXB0b1V0aWxzJztcbmltcG9ydCBBZGFwdGFibGVDb250cm9sbGVyIGZyb20gJy4vQWRhcHRhYmxlQ29udHJvbGxlcic7XG5pbXBvcnQgeyB2YWxpZGF0ZUZpbGVuYW1lLCBGaWxlc0FkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9GaWxlcy9GaWxlc0FkYXB0ZXInO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgbWltZSBmcm9tICdtaW1lJztcbmNvbnN0IFBhcnNlID0gcmVxdWlyZSgncGFyc2UnKS5QYXJzZTtcblxuY29uc3QgbGVnYWN5RmlsZXNSZWdleCA9IG5ldyBSZWdFeHAoXG4gICdeWzAtOWEtZkEtRl17OH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17NH0tWzAtOWEtZkEtRl17MTJ9LS4qJ1xuKTtcblxuZXhwb3J0IGNsYXNzIEZpbGVzQ29udHJvbGxlciBleHRlbmRzIEFkYXB0YWJsZUNvbnRyb2xsZXIge1xuICBnZXRGaWxlRGF0YShjb25maWcsIGZpbGVuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5nZXRGaWxlRGF0YShmaWxlbmFtZSk7XG4gIH1cblxuICBjcmVhdGVGaWxlKGNvbmZpZywgZmlsZW5hbWUsIGRhdGEsIGNvbnRlbnRUeXBlLCBvcHRpb25zKSB7XG4gICAgY29uc3QgZXh0bmFtZSA9IHBhdGguZXh0bmFtZShmaWxlbmFtZSk7XG5cbiAgICBjb25zdCBoYXNFeHRlbnNpb24gPSBleHRuYW1lLmxlbmd0aCA+IDA7XG5cbiAgICBpZiAoIWhhc0V4dGVuc2lvbiAmJiBjb250ZW50VHlwZSAmJiBtaW1lLmdldEV4dGVuc2lvbihjb250ZW50VHlwZSkpIHtcbiAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUgKyAnLicgKyBtaW1lLmdldEV4dGVuc2lvbihjb250ZW50VHlwZSk7XG4gICAgfSBlbHNlIGlmIChoYXNFeHRlbnNpb24gJiYgIWNvbnRlbnRUeXBlKSB7XG4gICAgICBjb250ZW50VHlwZSA9IG1pbWUuZ2V0VHlwZShmaWxlbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMucHJlc2VydmVGaWxlTmFtZSkge1xuICAgICAgZmlsZW5hbWUgPSByYW5kb21IZXhTdHJpbmcoMzIpICsgJ18nICsgZmlsZW5hbWU7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLmFkYXB0ZXIuZ2V0RmlsZUxvY2F0aW9uKGNvbmZpZywgZmlsZW5hbWUpO1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuY3JlYXRlRmlsZShmaWxlbmFtZSwgZGF0YSwgY29udGVudFR5cGUsIG9wdGlvbnMpLnRoZW4oKCkgPT4ge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIHVybDogbG9jYXRpb24sXG4gICAgICAgIG5hbWU6IGZpbGVuYW1lLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVGaWxlKGNvbmZpZywgZmlsZW5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmRlbGV0ZUZpbGUoZmlsZW5hbWUpO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGEoZmlsZW5hbWUpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuYWRhcHRlci5nZXRNZXRhZGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5nZXRNZXRhZGF0YShmaWxlbmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgZmlsZSByZWZlcmVuY2VzIGluIFJFU1QtZm9ybWF0IG9iamVjdCBhbmQgYWRkcyB0aGUgdXJsIGtleVxuICAgKiB3aXRoIHRoZSBjdXJyZW50IG1vdW50IHBvaW50IGFuZCBhcHAgaWQuXG4gICAqIE9iamVjdCBtYXkgYmUgYSBzaW5nbGUgb2JqZWN0IG9yIGxpc3Qgb2YgUkVTVC1mb3JtYXQgb2JqZWN0cy5cbiAgICovXG4gIGV4cGFuZEZpbGVzSW5PYmplY3QoY29uZmlnLCBvYmplY3QpIHtcbiAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIG9iamVjdC5tYXAob2JqID0+IHRoaXMuZXhwYW5kRmlsZXNJbk9iamVjdChjb25maWcsIG9iaikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICBjb25zdCBmaWxlT2JqZWN0ID0gb2JqZWN0W2tleV07XG4gICAgICBpZiAoZmlsZU9iamVjdCAmJiBmaWxlT2JqZWN0WydfX3R5cGUnXSA9PT0gJ0ZpbGUnKSB7XG4gICAgICAgIGlmIChmaWxlT2JqZWN0Wyd1cmwnXSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gZmlsZU9iamVjdFsnbmFtZSddO1xuICAgICAgICAvLyBhbGwgZmlsZW5hbWVzIHN0YXJ0aW5nIHdpdGggXCJ0ZnNzLVwiIHNob3VsZCBiZSBmcm9tIGZpbGVzLnBhcnNldGZzcy5jb21cbiAgICAgICAgLy8gYWxsIGZpbGVuYW1lcyBzdGFydGluZyB3aXRoIGEgXCItXCIgc2VwZXJhdGVkIFVVSUQgc2hvdWxkIGJlIGZyb20gZmlsZXMucGFyc2UuY29tXG4gICAgICAgIC8vIGFsbCBvdGhlciBmaWxlbmFtZXMgaGF2ZSBiZWVuIG1pZ3JhdGVkIG9yIGNyZWF0ZWQgZnJvbSBQYXJzZSBTZXJ2ZXJcbiAgICAgICAgaWYgKGNvbmZpZy5maWxlS2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBmaWxlT2JqZWN0Wyd1cmwnXSA9IHRoaXMuYWRhcHRlci5nZXRGaWxlTG9jYXRpb24oY29uZmlnLCBmaWxlbmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGZpbGVuYW1lLmluZGV4T2YoJ3Rmc3MtJykgPT09IDApIHtcbiAgICAgICAgICAgIGZpbGVPYmplY3RbJ3VybCddID1cbiAgICAgICAgICAgICAgJ2h0dHA6Ly9maWxlcy5wYXJzZXRmc3MuY29tLycgKyBjb25maWcuZmlsZUtleSArICcvJyArIGVuY29kZVVSSUNvbXBvbmVudChmaWxlbmFtZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChsZWdhY3lGaWxlc1JlZ2V4LnRlc3QoZmlsZW5hbWUpKSB7XG4gICAgICAgICAgICBmaWxlT2JqZWN0Wyd1cmwnXSA9XG4gICAgICAgICAgICAgICdodHRwOi8vZmlsZXMucGFyc2UuY29tLycgKyBjb25maWcuZmlsZUtleSArICcvJyArIGVuY29kZVVSSUNvbXBvbmVudChmaWxlbmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbGVPYmplY3RbJ3VybCddID0gdGhpcy5hZGFwdGVyLmdldEZpbGVMb2NhdGlvbihjb25maWcsIGZpbGVuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBlY3RlZEFkYXB0ZXJUeXBlKCkge1xuICAgIHJldHVybiBGaWxlc0FkYXB0ZXI7XG4gIH1cblxuICBoYW5kbGVGaWxlU3RyZWFtKGNvbmZpZywgZmlsZW5hbWUsIHJlcSwgcmVzLCBjb250ZW50VHlwZSkge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuaGFuZGxlRmlsZVN0cmVhbShmaWxlbmFtZSwgcmVxLCByZXMsIGNvbnRlbnRUeXBlKTtcbiAgfVxuXG4gIHZhbGlkYXRlRmlsZW5hbWUoZmlsZW5hbWUpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuYWRhcHRlci52YWxpZGF0ZUZpbGVuYW1lID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRoaXMuYWRhcHRlci52YWxpZGF0ZUZpbGVuYW1lKGZpbGVuYW1lKTtcbiAgICAgIGlmICh0eXBlb2YgZXJyb3IgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9GSUxFX05BTUUsIGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkYXRlRmlsZW5hbWUoZmlsZW5hbWUpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVzQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsb0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUF3QixTQUFBRSx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUx4Qjs7QUFNQSxNQUFNRyxLQUFLLEdBQUdULE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQ1MsS0FBSztBQUVwQyxNQUFNQyxnQkFBZ0IsR0FBRyxJQUFJQyxNQUFNLENBQ2pDLGlGQUNGLENBQUM7QUFFTSxNQUFNQyxlQUFlLFNBQVNDLDRCQUFtQixDQUFDO0VBQ3ZEQyxXQUFXQSxDQUFDQyxNQUFNLEVBQUVDLFFBQVEsRUFBRTtJQUM1QixPQUFPLElBQUksQ0FBQ0MsT0FBTyxDQUFDSCxXQUFXLENBQUNFLFFBQVEsQ0FBQztFQUMzQztFQUVBRSxVQUFVQSxDQUFDSCxNQUFNLEVBQUVDLFFBQVEsRUFBRUcsSUFBSSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRTtJQUN2RCxNQUFNQyxPQUFPLEdBQUdDLGFBQUksQ0FBQ0QsT0FBTyxDQUFDTixRQUFRLENBQUM7SUFFdEMsTUFBTVEsWUFBWSxHQUFHRixPQUFPLENBQUNHLE1BQU0sR0FBRyxDQUFDO0lBRXZDLElBQUksQ0FB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
|
|
106
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3J5cHRvVXRpbHMiLCJyZXF1aXJlIiwiX0FkYXB0YWJsZUNvbnRyb2xsZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0ZpbGVzQWRhcHRlciIsIl9wYXRoIiwiX21pbWUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJQYXJzZSIsImxlZ2FjeUZpbGVzUmVnZXgiLCJSZWdFeHAiLCJGaWxlc0NvbnRyb2xsZXIiLCJBZGFwdGFibGVDb250cm9sbGVyIiwiZ2V0RmlsZURhdGEiLCJjb25maWciLCJmaWxlbmFtZSIsImFkYXB0ZXIiLCJjcmVhdGVGaWxlIiwiZGF0YSIsImNvbnRlbnRUeXBlIiwib3B0aW9ucyIsImV4dG5hbWUiLCJwYXRoIiwiaGFzRXh0ZW5zaW9uIiwibGVuZ3RoIiwibWltZSIsImdldEV4dGVuc2lvbiIsImdldFR5cGUiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicmFuZG9tSGV4U3RyaW5nIiwibG9jYXRpb24iLCJnZXRGaWxlTG9jYXRpb24iLCJ0aGVuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ1cmwiLCJuYW1lIiwiZGVsZXRlRmlsZSIsImdldE1ldGFkYXRhIiwiZXhwYW5kRmlsZXNJbk9iamVjdCIsIm9iamVjdCIsIkFycmF5IiwibWFwIiwib2JqIiwia2V5IiwiZmlsZU9iamVjdCIsImZpbGVLZXkiLCJ1bmRlZmluZWQiLCJpbmRleE9mIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwidGVzdCIsImV4cGVjdGVkQWRhcHRlclR5cGUiLCJGaWxlc0FkYXB0ZXIiLCJoYW5kbGVGaWxlU3RyZWFtIiwicmVxIiwicmVzIiwidmFsaWRhdGVGaWxlbmFtZSIsImVycm9yIiwiRXJyb3IiLCJJTlZBTElEX0ZJTEVfTkFNRSIsImV4cG9ydHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9GaWxlc0NvbnRyb2xsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZXNDb250cm9sbGVyLmpzXG5pbXBvcnQgeyByYW5kb21IZXhTdHJpbmcgfSBmcm9tICcuLi9jcnlwdG9VdGlscyc7XG5pbXBvcnQgQWRhcHRhYmxlQ29udHJvbGxlciBmcm9tICcuL0FkYXB0YWJsZUNvbnRyb2xsZXInO1xuaW1wb3J0IHsgdmFsaWRhdGVGaWxlbmFtZSwgRmlsZXNBZGFwdGVyIH0gZnJvbSAnLi4vQWRhcHRlcnMvRmlsZXMvRmlsZXNBZGFwdGVyJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IG1pbWUgZnJvbSAnbWltZSc7XG5jb25zdCBQYXJzZSA9IHJlcXVpcmUoJ3BhcnNlJykuUGFyc2U7XG5cbmNvbnN0IGxlZ2FjeUZpbGVzUmVnZXggPSBuZXcgUmVnRXhwKFxuICAnXlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfS0uKidcbik7XG5cbmV4cG9ydCBjbGFzcyBGaWxlc0NvbnRyb2xsZXIgZXh0ZW5kcyBBZGFwdGFibGVDb250cm9sbGVyIHtcbiAgZ2V0RmlsZURhdGEoY29uZmlnLCBmaWxlbmFtZSkge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZ2V0RmlsZURhdGEoZmlsZW5hbWUpO1xuICB9XG5cbiAgY3JlYXRlRmlsZShjb25maWcsIGZpbGVuYW1lLCBkYXRhLCBjb250ZW50VHlwZSwgb3B0aW9ucykge1xuICAgIGNvbnN0IGV4dG5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZW5hbWUpO1xuXG4gICAgY29uc3QgaGFzRXh0ZW5zaW9uID0gZXh0bmFtZS5sZW5ndGggPiAwO1xuXG4gICAgaWYgKCFoYXNFeHRlbnNpb24gJiYgY29udGVudFR5cGUgJiYgbWltZS5nZXRFeHRlbnNpb24oY29udGVudFR5cGUpKSB7XG4gICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lICsgJy4nICsgbWltZS5nZXRFeHRlbnNpb24oY29udGVudFR5cGUpO1xuICAgIH0gZWxzZSBpZiAoaGFzRXh0ZW5zaW9uICYmICFjb250ZW50VHlwZSkge1xuICAgICAgY29udGVudFR5cGUgPSBtaW1lLmdldFR5cGUoZmlsZW5hbWUpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5vcHRpb25zLnByZXNlcnZlRmlsZU5hbWUpIHtcbiAgICAgIGZpbGVuYW1lID0gcmFuZG9tSGV4U3RyaW5nKDMyKSArICdfJyArIGZpbGVuYW1lO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5hZGFwdGVyLmdldEZpbGVMb2NhdGlvbihjb25maWcsIGZpbGVuYW1lKTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmNyZWF0ZUZpbGUoZmlsZW5hbWUsIGRhdGEsIGNvbnRlbnRUeXBlLCBvcHRpb25zKS50aGVuKCgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICB1cmw6IGxvY2F0aW9uLFxuICAgICAgICBuYW1lOiBmaWxlbmFtZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlRmlsZShjb25maWcsIGZpbGVuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kZWxldGVGaWxlKGZpbGVuYW1lKTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhKGZpbGVuYW1lKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmFkYXB0ZXIuZ2V0TWV0YWRhdGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZ2V0TWV0YWRhdGEoZmlsZW5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGZpbGUgcmVmZXJlbmNlcyBpbiBSRVNULWZvcm1hdCBvYmplY3QgYW5kIGFkZHMgdGhlIHVybCBrZXlcbiAgICogd2l0aCB0aGUgY3VycmVudCBtb3VudCBwb2ludCBhbmQgYXBwIGlkLlxuICAgKiBPYmplY3QgbWF5IGJlIGEgc2luZ2xlIG9iamVjdCBvciBsaXN0IG9mIFJFU1QtZm9ybWF0IG9iamVjdHMuXG4gICAqL1xuICBleHBhbmRGaWxlc0luT2JqZWN0KGNvbmZpZywgb2JqZWN0KSB7XG4gICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBvYmplY3QubWFwKG9iaiA9PiB0aGlzLmV4cGFuZEZpbGVzSW5PYmplY3QoY29uZmlnLCBvYmopKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvYmplY3QgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iamVjdCkge1xuICAgICAgY29uc3QgZmlsZU9iamVjdCA9IG9iamVjdFtrZXldO1xuICAgICAgaWYgKGZpbGVPYmplY3QgJiYgZmlsZU9iamVjdFsnX190eXBlJ10gPT09ICdGaWxlJykge1xuICAgICAgICBpZiAoZmlsZU9iamVjdFsndXJsJ10pIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGVPYmplY3RbJ25hbWUnXTtcbiAgICAgICAgLy8gYWxsIGZpbGVuYW1lcyBzdGFydGluZyB3aXRoIFwidGZzcy1cIiBzaG91bGQgYmUgZnJvbSBmaWxlcy5wYXJzZXRmc3MuY29tXG4gICAgICAgIC8vIGFsbCBmaWxlbmFtZXMgc3RhcnRpbmcgd2l0aCBhIFwiLVwiIHNlcGVyYXRlZCBVVUlEIHNob3VsZCBiZSBmcm9tIGZpbGVzLnBhcnNlLmNvbVxuICAgICAgICAvLyBhbGwgb3RoZXIgZmlsZW5hbWVzIGhhdmUgYmVlbiBtaWdyYXRlZCBvciBjcmVhdGVkIGZyb20gUGFyc2UgU2VydmVyXG4gICAgICAgIGlmIChjb25maWcuZmlsZUtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZmlsZU9iamVjdFsndXJsJ10gPSB0aGlzLmFkYXB0ZXIuZ2V0RmlsZUxvY2F0aW9uKGNvbmZpZywgZmlsZW5hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChmaWxlbmFtZS5pbmRleE9mKCd0ZnNzLScpID09PSAwKSB7XG4gICAgICAgICAgICBmaWxlT2JqZWN0Wyd1cmwnXSA9XG4gICAgICAgICAgICAgICdodHRwOi8vZmlsZXMucGFyc2V0ZnNzLmNvbS8nICsgY29uZmlnLmZpbGVLZXkgKyAnLycgKyBlbmNvZGVVUklDb21wb25lbnQoZmlsZW5hbWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobGVnYWN5RmlsZXNSZWdleC50ZXN0KGZpbGVuYW1lKSkge1xuICAgICAgICAgICAgZmlsZU9iamVjdFsndXJsJ10gPVxuICAgICAgICAgICAgICAnaHR0cDovL2ZpbGVzLnBhcnNlLmNvbS8nICsgY29uZmlnLmZpbGVLZXkgKyAnLycgKyBlbmNvZGVVUklDb21wb25lbnQoZmlsZW5hbWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWxlT2JqZWN0Wyd1cmwnXSA9IHRoaXMuYWRhcHRlci5nZXRGaWxlTG9jYXRpb24oY29uZmlnLCBmaWxlbmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZXhwZWN0ZWRBZGFwdGVyVHlwZSgpIHtcbiAgICByZXR1cm4gRmlsZXNBZGFwdGVyO1xuICB9XG5cbiAgaGFuZGxlRmlsZVN0cmVhbShjb25maWcsIGZpbGVuYW1lLCByZXEsIHJlcywgY29udGVudFR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmhhbmRsZUZpbGVTdHJlYW0oZmlsZW5hbWUsIHJlcSwgcmVzLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICB2YWxpZGF0ZUZpbGVuYW1lKGZpbGVuYW1lKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmFkYXB0ZXIudmFsaWRhdGVGaWxlbmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLmFkYXB0ZXIudmFsaWRhdGVGaWxlbmFtZShmaWxlbmFtZSk7XG4gICAgICBpZiAodHlwZW9mIGVycm9yICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVkFMSURfRklMRV9OQU1FLCBlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0ZUZpbGVuYW1lKGZpbGVuYW1lKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGaWxlc0NvbnRyb2xsZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFBd0IsU0FBQUUsdUJBQUFJLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFMeEI7O0FBTUEsTUFBTUcsS0FBSyxHQUFHVCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUNTLEtBQUs7QUFFcEMsTUFBTUMsZ0JBQWdCLEdBQUcsSUFBSUMsTUFBTSxDQUNqQyxpRkFDRixDQUFDO0FBRU0sTUFBTUMsZUFBZSxTQUFTQyw0QkFBbUIsQ0FBQztFQUN2REMsV0FBV0EsQ0FBQ0MsTUFBTSxFQUFFQyxRQUFRLEVBQUU7SUFDNUIsT0FBTyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0gsV0FBVyxDQUFDRSxRQUFRLENBQUM7RUFDM0M7RUFFQUUsVUFBVUEsQ0FBQ0gsTUFBTSxFQUFFQyxRQUFRLEVBQUVHLElBQUksRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUU7SUFDdkQsTUFBTUMsT0FBTyxHQUFHQyxhQUFJLENBQUNELE9BQU8sQ0FBQ04sUUFBUSxDQUFDO0lBRXRDLE1BQU1RLFlBQVksR0FBR0YsT0FBTyxDQUFDRyxNQUFNLEdBQUcsQ0FBQztJQUV2QyxJQUFJLENBQUNELFlBQVksSUFBSUosV0FBVyxJQUFJTSxhQUFJLENBQUNDLFlBQVksQ0FBQ1AsV0FBVyxDQUFDLEVBQUU7TUFDbEVKLFFBQVEsR0FBR0EsUUFBUSxHQUFHLEdBQUcsR0FBR1UsYUFBSSxDQUFDQyxZQUFZLENBQUNQLFdBQVcsQ0FBQztJQUM1RCxDQUFDLE1BQU0sSUFBSUksWUFBWSxJQUFJLENBQUNKLFdBQVcsRUFBRTtNQUN2Q0EsV0FBVyxHQUFHTSxhQUFJLENBQUNFLE9BQU8sQ0FBQ1osUUFBUSxDQUFDO0lBQ3RDO0lBRUEsSUFBSSxDQUFDLElBQUksQ0FBQ0ssT0FBTyxDQUFDUSxnQkFBZ0IsRUFBRTtNQUNsQ2IsUUFBUSxHQUFHLElBQUFjLDRCQUFlLEVBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHZCxRQUFRO0lBQ2pEO0lBRUEsTUFBTWUsUUFBUSxHQUFHLElBQUksQ0FBQ2QsT0FBTyxDQUFDZSxlQUFlLENBQUNqQixNQUFNLEVBQUVDLFFBQVEsQ0FBQztJQUMvRCxPQUFPLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxVQUFVLENBQUNGLFFBQVEsRUFBRUcsSUFBSSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sQ0FBQyxDQUFDWSxJQUFJLENBQUMsTUFBTTtNQUM5RSxPQUFPQyxPQUFPLENBQUNDLE9BQU8sQ0FBQztRQUNyQkMsR0FBRyxFQUFFTCxRQUFRO1FBQ2JNLElBQUksRUFBRXJCO01BQ1IsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0VBQ0o7RUFFQXNCLFVBQVVBLENBQUN2QixNQUFNLEVBQUVDLFFBQVEsRUFBRTtJQUMzQixPQUFPLElBQUksQ0FBQ0MsT0FBTyxDQUFDcUIsVUFBVSxDQUFDdEIsUUFBUSxDQUFDO0VBQzFDO0VBRUF1QixXQUFXQSxDQUFDdkIsUUFBUSxFQUFFO0lBQ3BCLElBQUksT0FBTyxJQUFJLENBQUNDLE9BQU8sQ0FBQ3NCLFdBQVcsS0FBSyxVQUFVLEVBQUU7TUFDbEQsT0FBTyxJQUFJLENBQUN0QixPQUFPLENBQUNzQixXQUFXLENBQUN2QixRQUFRLENBQUM7SUFDM0M7SUFDQSxPQUFPa0IsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDNUI7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7QUFDQTtFQUNFSyxtQkFBbUJBLENBQUN6QixNQUFNLEVBQUUwQixNQUFNLEVBQUU7SUFDbEMsSUFBSUEsTUFBTSxZQUFZQyxLQUFLLEVBQUU7TUFDM0JELE1BQU0sQ0FBQ0UsR0FBRyxDQUFDQyxHQUFHLElBQUksSUFBSSxDQUFDSixtQkFBbUIsQ0FBQ3pCLE1BQU0sRUFBRTZCLEdBQUcsQ0FBQyxDQUFDO01BQ3hEO0lBQ0Y7SUFDQSxJQUFJLE9BQU9ILE1BQU0sS0FBSyxRQUFRLEVBQUU7TUFDOUI7SUFDRjtJQUNBLEtBQUssTUFBTUksR0FBRyxJQUFJSixNQUFNLEVBQUU7TUFDeEIsTUFBTUssVUFBVSxHQUFHTCxNQUFNLENBQUNJLEdBQUcsQ0FBQztNQUM5QixJQUFJQyxVQUFVLElBQUlBLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxNQUFNLEVBQUU7UUFDakQsSUFBSUEsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1VBQ3JCO1FBQ0Y7UUFDQSxNQUFNOUIsUUFBUSxHQUFHOEIsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNuQztRQUNBO1FBQ0E7UUFDQSxJQUFJL0IsTUFBTSxDQUFDZ0MsT0FBTyxLQUFLQyxTQUFTLEVBQUU7VUFDaENGLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM3QixPQUFPLENBQUNlLGVBQWUsQ0FBQ2pCLE1BQU0sRUFBRUMsUUFBUSxDQUFDO1FBQ3BFLENBQUMsTUFBTTtVQUNMLElBQUlBLFFBQVEsQ0FBQ2lDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkNILFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FDZiw2QkFBNkIsR0FBRy9CLE1BQU0sQ0FBQ2dDLE9BQU8sR0FBRyxHQUFHLEdBQUdHLGtCQUFrQixDQUFDbEMsUUFBUSxDQUFDO1VBQ3ZGLENBQUMsTUFBTSxJQUFJTixnQkFBZ0IsQ0FBQ3lDLElBQUksQ0FBQ25DLFFBQVEsQ0FBQyxFQUFFO1lBQzFDOEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUNmLHlCQUF5QixHQUFHL0IsTUFBTSxDQUFDZ0MsT0FBTyxHQUFHLEdBQUcsR0FBR0csa0JBQWtCLENBQUNsQyxRQUFRLENBQUM7VUFDbkYsQ0FBQyxNQUFNO1lBQ0w4QixVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDN0IsT0FBTyxDQUFDZSxlQUFlLENBQUNqQixNQUFNLEVBQUVDLFFBQVEsQ0FBQztVQUNwRTtRQUNGO01BQ0Y7SUFDRjtFQUNGO0VBRUFvQyxtQkFBbUJBLENBQUEsRUFBRztJQUNwQixPQUFPQywwQkFBWTtFQUNyQjtFQUVBQyxnQkFBZ0JBLENBQUN2QyxNQUFNLEVBQUVDLFFBQVEsRUFBRXVDLEdBQUcsRUFBRUMsR0FBRyxFQUFFcEMsV0FBVyxFQUFFO0lBQ3hELE9BQU8sSUFBSSxDQUFDSCxPQUFPLENBQUNxQyxnQkFBZ0IsQ0FBQ3RDLFFBQVEsRUFBRXVDLEdBQUcsRUFBRUMsR0FBRyxFQUFFcEMsV0FBVyxDQUFDO0VBQ3ZFO0VBRUFxQyxnQkFBZ0JBLENBQUN6QyxRQUFRLEVBQUU7SUFDekIsSUFBSSxPQUFPLElBQUksQ0FBQ0MsT0FBTyxDQUFDd0MsZ0JBQWdCLEtBQUssVUFBVSxFQUFFO01BQ3ZELE1BQU1DLEtBQUssR0FBRyxJQUFJLENBQUN6QyxPQUFPLENBQUN3QyxnQkFBZ0IsQ0FBQ3pDLFFBQVEsQ0FBQztNQUNyRCxJQUFJLE9BQU8wQyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU9BLEtBQUs7TUFDZDtNQUNBLE9BQU8sSUFBSWpELEtBQUssQ0FBQ2tELEtBQUssQ0FBQ2xELEtBQUssQ0FBQ2tELEtBQUssQ0FBQ0MsaUJBQWlCLEVBQUVGLEtBQUssQ0FBQztJQUM5RDtJQUNBLE9BQU8sSUFBQUQsOEJBQWdCLEVBQUN6QyxRQUFRLENBQUM7RUFDbkM7QUFDRjtBQUFDNkMsT0FBQSxDQUFBakQsZUFBQSxHQUFBQSxlQUFBO0FBQUEsSUFBQWtELFFBQUEsR0FBQUQsT0FBQSxDQUFBckQsT0FBQSxHQUVjSSxlQUFlIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -10,7 +10,7 @@ var _request = _interopRequireDefault(require("../request"));
|
|
|
10
10
|
var _logger = require("../logger");
|
|
11
11
|
var _http = _interopRequireDefault(require("http"));
|
|
12
12
|
var _https = _interopRequireDefault(require("https"));
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
// -disable-next
|
|
@@ -248,4 +248,4 @@ function wrapToHTTPRequest(hook, key) {
|
|
|
248
248
|
};
|
|
249
249
|
}
|
|
250
250
|
var _default = exports.default = HooksController;
|
|
251
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0cmlnZ2VycyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIlBhcnNlIiwiX3JlcXVlc3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvZ2dlciIsIl9odHRwIiwiX2h0dHBzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiRGVmYXVsdEhvb2tzQ29sbGVjdGlvbk5hbWUiLCJIVFRQQWdlbnRzIiwiaHR0cCIsIkFnZW50Iiwia2VlcEFsaXZlIiwiaHR0cHMiLCJIb29rc0NvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFwcGxpY2F0aW9uSWQiLCJkYXRhYmFzZUNvbnRyb2xsZXIiLCJ3ZWJob29rS2V5IiwiX2FwcGxpY2F0aW9uSWQiLCJfd2ViaG9va0tleSIsImRhdGFiYXNlIiwibG9hZCIsIl9nZXRIb29rcyIsInRoZW4iLCJob29rcyIsImZvckVhY2giLCJob29rIiwiYWRkSG9va1RvVHJpZ2dlcnMiLCJnZXRGdW5jdGlvbiIsImZ1bmN0aW9uTmFtZSIsInJlc3VsdHMiLCJnZXRGdW5jdGlvbnMiLCIkZXhpc3RzIiwiZ2V0VHJpZ2dlciIsImNsYXNzTmFtZSIsInRyaWdnZXJOYW1lIiwiZ2V0VHJpZ2dlcnMiLCJkZWxldGVGdW5jdGlvbiIsInJlbW92ZUZ1bmN0aW9uIiwiX3JlbW92ZUhvb2tzIiwiZGVsZXRlVHJpZ2dlciIsInJlbW92ZVRyaWdnZXIiLCJxdWVyeSIsImZpbmQiLCJtYXAiLCJyZXN1bHQiLCJvYmplY3RJZCIsImRlc3Ryb3kiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNhdmVIb29rIiwidXJsIiwiRXJyb3IiLCJ1cGRhdGUiLCJ1cHNlcnQiLCJ3cmFwcGVkRnVuY3Rpb24iLCJ3cmFwVG9IVFRQUmVxdWVzdCIsImFkZFRyaWdnZXIiLCJhZGRGdW5jdGlvbiIsImFkZEhvb2siLCJjcmVhdGVPclVwZGF0ZUhvb2siLCJhSG9vayIsIlR5cGVzIiwiY3JlYXRlSG9vayIsInVwZGF0ZUhvb2siLCJleHBvcnRzIiwia2V5IiwicmVxIiwianNvbkJvZHkiLCJvYmplY3QiLCJ0b0pTT04iLCJvcmlnaW5hbCIsImpzb25SZXF1ZXN0IiwiaGVhZGVycyIsImJvZHkiLCJtZXRob2QiLCJhZ2VudCIsInN0YXJ0c1dpdGgiLCJsb2dnZXIiLCJ3YXJuIiwicmVxdWVzdCIsInJlc3BvbnNlIiwiZXJyIiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsImVycm9yIiwiY29kZSIsInBhcnRpYWxSZXNwb25zZSIsInN1YnN0cmluZyIsInN1Y2Nlc3MiLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9Ib29rc0NvbnRyb2xsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmbG93IHdlYWsgKi9cblxuaW1wb3J0ICogYXMgdHJpZ2dlcnMgZnJvbSAnLi4vdHJpZ2dlcnMnO1xuLy8gQGZsb3ctZGlzYWJsZS1uZXh0XG5pbXBvcnQgKiBhcyBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbi8vIEBmbG93LWRpc2FibGUtbmV4dFxuaW1wb3J0IHJlcXVlc3QgZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IGh0dHAgZnJvbSAnaHR0cCc7XG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuXG5jb25zdCBEZWZhdWx0SG9va3NDb2xsZWN0aW9uTmFtZSA9ICdfSG9va3MnO1xuY29uc3QgSFRUUEFnZW50cyA9IHtcbiAgaHR0cDogbmV3IGh0dHAuQWdlbnQoeyBrZWVwQWxpdmU6IHRydWUgfSksXG4gIGh0dHBzOiBuZXcgaHR0cHMuQWdlbnQoeyBrZWVwQWxpdmU6IHRydWUgfSksXG59O1xuXG5leHBvcnQgY2xhc3MgSG9va3NDb250cm9sbGVyIHtcbiAgX2FwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgX3dlYmhvb2tLZXk6IHN0cmluZztcbiAgZGF0YWJhc2U6IGFueTtcblxuICBjb25zdHJ1Y3RvcihhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGRhdGFiYXNlQ29udHJvbGxlciwgd2ViaG9va0tleSkge1xuICAgIHRoaXMuX2FwcGxpY2F0aW9uSWQgPSBhcHBsaWNhdGlvbklkO1xuICAgIHRoaXMuX3dlYmhvb2tLZXkgPSB3ZWJob29rS2V5O1xuICAgIHRoaXMuZGF0YWJhc2UgPSBkYXRhYmFzZUNvbnRyb2xsZXI7XG4gIH1cblxuICBsb2FkKCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRIb29rcygpLnRoZW4oaG9va3MgPT4ge1xuICAgICAgaG9va3MgPSBob29rcyB8fCBbXTtcbiAgICAgIGhvb2tzLmZvckVhY2goaG9vayA9PiB7XG4gICAgICAgIHRoaXMuYWRkSG9va1RvVHJpZ2dlcnMoaG9vayk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSkge1xuICAgIHJldHVybiB0aGlzLl9nZXRIb29rcyh7IGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lIH0pLnRoZW4ocmVzdWx0cyA9PiByZXN1bHRzWzBdKTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0SG9va3MoeyBmdW5jdGlvbk5hbWU6IHsgJGV4aXN0czogdHJ1ZSB9IH0pO1xuICB9XG5cbiAgZ2V0VHJpZ2dlcihjbGFzc05hbWUsIHRyaWdnZXJOYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEhvb2tzKHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgdHJpZ2dlck5hbWU6IHRyaWdnZXJOYW1lLFxuICAgIH0pLnRoZW4ocmVzdWx0cyA9PiByZXN1bHRzWzBdKTtcbiAgfVxuXG4gIGdldFRyaWdnZXJzKCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRIb29rcyh7XG4gICAgICBjbGFzc05hbWU6IHsgJGV4aXN0czogdHJ1ZSB9LFxuICAgICAgdHJpZ2dlck5hbWU6IHsgJGV4aXN0czogdHJ1ZSB9LFxuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlRnVuY3Rpb24oZnVuY3Rpb25OYW1lKSB7XG4gICAgdHJpZ2dlcnMucmVtb3ZlRnVuY3Rpb24oZnVuY3Rpb25OYW1lLCB0aGlzLl9hcHBsaWNhdGlvbklkKTtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlSG9va3MoeyBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSB9KTtcbiAgfVxuXG4gIGRlbGV0ZVRyaWdnZXIoY2xhc3NOYW1lLCB0cmlnZ2VyTmFtZSkge1xuICAgIHRyaWdnZXJzLnJlbW92ZVRyaWdnZXIodHJpZ2dlck5hbWUsIGNsYXNzTmFtZSwgdGhpcy5fYXBwbGljYXRpb25JZCk7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUhvb2tzKHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgdHJpZ2dlck5hbWU6IHRyaWdnZXJOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgX2dldEhvb2tzKHF1ZXJ5ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhYmFzZS5maW5kKERlZmF1bHRIb29rc0NvbGxlY3Rpb25OYW1lLCBxdWVyeSkudGhlbihyZXN1bHRzID0+IHtcbiAgICAgIHJldHVybiByZXN1bHRzLm1hcChyZXN1bHQgPT4ge1xuICAgICAgICBkZWxldGUgcmVzdWx0Lm9iamVjdElkO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBfcmVtb3ZlSG9va3MocXVlcnkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhYmFzZS5kZXN0cm95KERlZmF1bHRIb29rc0NvbGxlY3Rpb25OYW1lLCBxdWVyeSkudGhlbigoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVIb29rKGhvb2spIHtcbiAgICB2YXIgcXVlcnk7XG4gICAgaWYgKGhvb2suZnVuY3Rpb25OYW1lICYmIGhvb2sudXJsKSB7XG4gICAgICBxdWVyeSA9IHsgZnVuY3Rpb25OYW1lOiBob29rLmZ1bmN0aW9uTmFtZSB9O1xuICAgIH0gZWxzZSBpZiAoaG9vay50cmlnZ2VyTmFtZSAmJiBob29rLmNsYXNzTmFtZSAmJiBob29rLnVybCkge1xuICAgICAgcXVlcnkgPSB7IGNsYXNzTmFtZTogaG9vay5jbGFzc05hbWUsIHRyaWdnZXJOYW1lOiBob29rLnRyaWdnZXJOYW1lIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsICdpbnZhbGlkIGhvb2sgZGVjbGFyYXRpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGF0YWJhc2VcbiAgICAgIC51cGRhdGUoRGVmYXVsdEhvb2tzQ29sbGVjdGlvbk5hbWUsIHF1ZXJ5LCBob29rLCB7IHVwc2VydDogdHJ1ZSB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGhvb2spO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGRIb29rVG9UcmlnZ2Vycyhob29rKSB7XG4gICAgdmFyIHdyYXBwZWRGdW5jdGlvbiA9IHdyYXBUb0hUVFBSZXF1ZXN0KGhvb2ssIHRoaXMuX3dlYmhvb2tLZXkpO1xuICAgIHdyYXBwZWRGdW5jdGlvbi51cmwgPSBob29rLnVybDtcbiAgICBpZiAoaG9vay5jbGFzc05hbWUpIHtcbiAgICAgIHRyaWdnZXJzLmFkZFRyaWdnZXIoaG9vay50cmlnZ2VyTmFtZSwgaG9vay5jbGFzc05hbWUsIHdyYXBwZWRGdW5jdGlvbiwgdGhpcy5fYXBwbGljYXRpb25JZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyaWdnZXJzLmFkZEZ1bmN0aW9uKGhvb2suZnVuY3Rpb25OYW1lLCB3cmFwcGVkRnVuY3Rpb24sIG51bGwsIHRoaXMuX2FwcGxpY2F0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIGFkZEhvb2soaG9vaykge1xuICAgIHRoaXMuYWRkSG9va1RvVHJpZ2dlcnMoaG9vayk7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZUhvb2soaG9vayk7XG4gIH1cblxuICBjcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spIHtcbiAgICB2YXIgaG9vaztcbiAgICBpZiAoYUhvb2sgJiYgYUhvb2suZnVuY3Rpb25OYW1lICYmIGFIb29rLnVybCkge1xuICAgICAgaG9vayA9IHt9O1xuICAgICAgaG9vay5mdW5jdGlvbk5hbWUgPSBhSG9vay5mdW5jdGlvbk5hbWU7XG4gICAgICBob29rLnVybCA9IGFIb29rLnVybDtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgYUhvb2sgJiZcbiAgICAgIGFIb29rLmNsYXNzTmFtZSAmJlxuICAgICAgYUhvb2sudXJsICYmXG4gICAgICBhSG9vay50cmlnZ2VyTmFtZSAmJlxuICAgICAgdHJpZ2dlcnMuVHlwZXNbYUhvb2sudHJpZ2dlck5hbWVdXG4gICAgKSB7XG4gICAgICBob29rID0ge307XG4gICAgICBob29rLmNsYXNzTmFtZSA9IGFIb29rLmNsYXNzTmFtZTtcbiAgICAgIGhvb2sudXJsID0gYUhvb2sudXJsO1xuICAgICAgaG9vay50cmlnZ2VyTmFtZSA9IGFIb29rLnRyaWdnZXJOYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCAnaW52YWxpZCBob29rIGRlY2xhcmF0aW9uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWRkSG9vayhob29rKTtcbiAgfVxuXG4gIGNyZWF0ZUhvb2soYUhvb2spIHtcbiAgICBpZiAoYUhvb2suZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRGdW5jdGlvbihhSG9vay5mdW5jdGlvbk5hbWUpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsIGBmdW5jdGlvbiBuYW1lOiAke2FIb29rLmZ1bmN0aW9uTmFtZX0gYWxyZWFkeSBleGlzdHNgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGFIb29rLmNsYXNzTmFtZSAmJiBhSG9vay50cmlnZ2VyTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJpZ2dlcihhSG9vay5jbGFzc05hbWUsIGFIb29rLnRyaWdnZXJOYW1lKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICAxNDMsXG4gICAgICAgICAgICBgY2xhc3MgJHthSG9vay5jbGFzc05hbWV9IGFscmVhZHkgaGFzIHRyaWdnZXIgJHthSG9vay50cmlnZ2VyTmFtZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKDE0MywgJ2ludmFsaWQgaG9vayBkZWNsYXJhdGlvbicpO1xuICB9XG5cbiAgdXBkYXRlSG9vayhhSG9vaykge1xuICAgIGlmIChhSG9vay5mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEZ1bmN0aW9uKGFIb29rLmZ1bmN0aW9uTmFtZSkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlT3JVcGRhdGVIb29rKGFIb29rKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCBgbm8gZnVuY3Rpb24gbmFtZWQ6ICR7YUhvb2suZnVuY3Rpb25OYW1lfSBpcyBkZWZpbmVkYCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGFIb29rLmNsYXNzTmFtZSAmJiBhSG9vay50cmlnZ2VyTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJpZ2dlcihhSG9vay5jbGFzc05hbWUsIGFIb29rLnRyaWdnZXJOYW1lKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsIGBjbGFzcyAke2FIb29rLmNsYXNzTmFtZX0gZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCAnaW52YWxpZCBob29rIGRlY2xhcmF0aW9uJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd3JhcFRvSFRUUFJlcXVlc3QoaG9vaywga2V5KSB7XG4gIHJldHVybiByZXEgPT4ge1xuICAgIGNvbnN0IGpzb25Cb2R5ID0ge307XG4gICAgZm9yICh2YXIgaSBpbiByZXEpIHtcbiAgICAgIGpzb25Cb2R5W2ldID0gcmVxW2ldO1xuICAgIH1cbiAgICBpZiAocmVxLm9iamVjdCkge1xuICAgICAganNvbkJvZHkub2JqZWN0ID0gcmVxLm9iamVjdC50b0pTT04oKTtcbiAgICAgIGpzb25Cb2R5Lm9iamVjdC5jbGFzc05hbWUgPSByZXEub2JqZWN0LmNsYXNzTmFtZTtcbiAgICB9XG4gICAgaWYgKHJlcS5vcmlnaW5hbCkge1xuICAgICAganNvbkJvZHkub3JpZ2luYWwgPSByZXEub3JpZ2luYWwudG9KU09OKCk7XG4gICAgICBqc29uQm9keS5vcmlnaW5hbC5jbGFzc05hbWUgPSByZXEub3JpZ2luYWwuY2xhc3NOYW1lO1xuICAgIH1cbiAgICBjb25zdCBqc29uUmVxdWVzdDogYW55ID0ge1xuICAgICAgdXJsOiBob29rLnVybCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBib2R5OiBqc29uQm9keSxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIH07XG5cbiAgICBjb25zdCBhZ2VudCA9IGhvb2sudXJsLnN0YXJ0c1dpdGgoJ2h0dHBzJykgPyBIVFRQQWdlbnRzWydodHRwcyddIDogSFRUUEFnZW50c1snaHR0cCddO1xuICAgIGpzb25SZXF1ZXN0LmFnZW50ID0gYWdlbnQ7XG5cbiAgICBpZiAoa2V5KSB7XG4gICAgICBqc29uUmVxdWVzdC5oZWFkZXJzWydYLVBhcnNlLVdlYmhvb2stS2V5J10gPSBrZXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci53YXJuKCdNYWtpbmcgb3V0Z29pbmcgd2ViaG9vayByZXF1ZXN0IHdpdGhvdXQgd2ViaG9va0tleSBiZWluZyBzZXQhJyk7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0KGpzb25SZXF1ZXN0KS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgIGxldCBlcnI7XG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgbGV0IGJvZHkgPSByZXNwb25zZS5kYXRhO1xuICAgICAgaWYgKGJvZHkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBib2R5ID0gSlNPTi5wYXJzZShib2R5KTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBlcnIgPSB7XG4gICAgICAgICAgICAgIGVycm9yOiAnTWFsZm9ybWVkIHJlc3BvbnNlJyxcbiAgICAgICAgICAgICAgY29kZTogLTEsXG4gICAgICAgICAgICAgIHBhcnRpYWxSZXNwb25zZTogYm9keS5zdWJzdHJpbmcoMCwgMTAwKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZXJyKSB7XG4gICAgICAgICAgcmVzdWx0ID0gYm9keS5zdWNjZXNzO1xuICAgICAgICAgIGVyciA9IGJvZHkuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfSBlbHNlIGlmIChob29rLnRyaWdnZXJOYW1lID09PSAnYmVmb3JlU2F2ZScpIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgZGVsZXRlIHJlc3VsdC5jcmVhdGVkQXQ7XG4gICAgICAgICAgZGVsZXRlIHJlc3VsdC51cGRhdGVkQXQ7XG4gICAgICAgICAgZGVsZXRlIHJlc3VsdC5jbGFzc05hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgb2JqZWN0OiByZXN1bHQgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEhvb2tzQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsSUFBQUEsUUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsS0FBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQTBCLFNBQUFHLHVCQUFBSSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENB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
|
|
251
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0cmlnZ2VycyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIlBhcnNlIiwiX3JlcXVlc3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvZ2dlciIsIl9odHRwIiwiX2h0dHBzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiV2Vha01hcCIsInIiLCJ0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiRGVmYXVsdEhvb2tzQ29sbGVjdGlvbk5hbWUiLCJIVFRQQWdlbnRzIiwiaHR0cCIsIkFnZW50Iiwia2VlcEFsaXZlIiwiaHR0cHMiLCJIb29rc0NvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFwcGxpY2F0aW9uSWQiLCJkYXRhYmFzZUNvbnRyb2xsZXIiLCJ3ZWJob29rS2V5IiwiX2FwcGxpY2F0aW9uSWQiLCJfd2ViaG9va0tleSIsImRhdGFiYXNlIiwibG9hZCIsIl9nZXRIb29rcyIsInRoZW4iLCJob29rcyIsImZvckVhY2giLCJob29rIiwiYWRkSG9va1RvVHJpZ2dlcnMiLCJnZXRGdW5jdGlvbiIsImZ1bmN0aW9uTmFtZSIsInJlc3VsdHMiLCJnZXRGdW5jdGlvbnMiLCIkZXhpc3RzIiwiZ2V0VHJpZ2dlciIsImNsYXNzTmFtZSIsInRyaWdnZXJOYW1lIiwiZ2V0VHJpZ2dlcnMiLCJkZWxldGVGdW5jdGlvbiIsInJlbW92ZUZ1bmN0aW9uIiwiX3JlbW92ZUhvb2tzIiwiZGVsZXRlVHJpZ2dlciIsInJlbW92ZVRyaWdnZXIiLCJxdWVyeSIsImZpbmQiLCJtYXAiLCJyZXN1bHQiLCJvYmplY3RJZCIsImRlc3Ryb3kiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNhdmVIb29rIiwidXJsIiwiRXJyb3IiLCJ1cGRhdGUiLCJ1cHNlcnQiLCJ3cmFwcGVkRnVuY3Rpb24iLCJ3cmFwVG9IVFRQUmVxdWVzdCIsImFkZFRyaWdnZXIiLCJhZGRGdW5jdGlvbiIsImFkZEhvb2siLCJjcmVhdGVPclVwZGF0ZUhvb2siLCJhSG9vayIsIlR5cGVzIiwiY3JlYXRlSG9vayIsInVwZGF0ZUhvb2siLCJleHBvcnRzIiwia2V5IiwicmVxIiwianNvbkJvZHkiLCJvYmplY3QiLCJ0b0pTT04iLCJvcmlnaW5hbCIsImpzb25SZXF1ZXN0IiwiaGVhZGVycyIsImJvZHkiLCJtZXRob2QiLCJhZ2VudCIsInN0YXJ0c1dpdGgiLCJsb2dnZXIiLCJ3YXJuIiwicmVxdWVzdCIsInJlc3BvbnNlIiwiZXJyIiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsImVycm9yIiwiY29kZSIsInBhcnRpYWxSZXNwb25zZSIsInN1YnN0cmluZyIsInN1Y2Nlc3MiLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9Ib29rc0NvbnRyb2xsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmbG93IHdlYWsgKi9cblxuaW1wb3J0ICogYXMgdHJpZ2dlcnMgZnJvbSAnLi4vdHJpZ2dlcnMnO1xuLy8gQGZsb3ctZGlzYWJsZS1uZXh0XG5pbXBvcnQgKiBhcyBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbi8vIEBmbG93LWRpc2FibGUtbmV4dFxuaW1wb3J0IHJlcXVlc3QgZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IGh0dHAgZnJvbSAnaHR0cCc7XG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuXG5jb25zdCBEZWZhdWx0SG9va3NDb2xsZWN0aW9uTmFtZSA9ICdfSG9va3MnO1xuY29uc3QgSFRUUEFnZW50cyA9IHtcbiAgaHR0cDogbmV3IGh0dHAuQWdlbnQoeyBrZWVwQWxpdmU6IHRydWUgfSksXG4gIGh0dHBzOiBuZXcgaHR0cHMuQWdlbnQoeyBrZWVwQWxpdmU6IHRydWUgfSksXG59O1xuXG5leHBvcnQgY2xhc3MgSG9va3NDb250cm9sbGVyIHtcbiAgX2FwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgX3dlYmhvb2tLZXk6IHN0cmluZztcbiAgZGF0YWJhc2U6IGFueTtcblxuICBjb25zdHJ1Y3RvcihhcHBsaWNhdGlvbklkOiBzdHJpbmcsIGRhdGFiYXNlQ29udHJvbGxlciwgd2ViaG9va0tleSkge1xuICAgIHRoaXMuX2FwcGxpY2F0aW9uSWQgPSBhcHBsaWNhdGlvbklkO1xuICAgIHRoaXMuX3dlYmhvb2tLZXkgPSB3ZWJob29rS2V5O1xuICAgIHRoaXMuZGF0YWJhc2UgPSBkYXRhYmFzZUNvbnRyb2xsZXI7XG4gIH1cblxuICBsb2FkKCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRIb29rcygpLnRoZW4oaG9va3MgPT4ge1xuICAgICAgaG9va3MgPSBob29rcyB8fCBbXTtcbiAgICAgIGhvb2tzLmZvckVhY2goaG9vayA9PiB7XG4gICAgICAgIHRoaXMuYWRkSG9va1RvVHJpZ2dlcnMoaG9vayk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSkge1xuICAgIHJldHVybiB0aGlzLl9nZXRIb29rcyh7IGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lIH0pLnRoZW4ocmVzdWx0cyA9PiByZXN1bHRzWzBdKTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0SG9va3MoeyBmdW5jdGlvbk5hbWU6IHsgJGV4aXN0czogdHJ1ZSB9IH0pO1xuICB9XG5cbiAgZ2V0VHJpZ2dlcihjbGFzc05hbWUsIHRyaWdnZXJOYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEhvb2tzKHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgdHJpZ2dlck5hbWU6IHRyaWdnZXJOYW1lLFxuICAgIH0pLnRoZW4ocmVzdWx0cyA9PiByZXN1bHRzWzBdKTtcbiAgfVxuXG4gIGdldFRyaWdnZXJzKCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRIb29rcyh7XG4gICAgICBjbGFzc05hbWU6IHsgJGV4aXN0czogdHJ1ZSB9LFxuICAgICAgdHJpZ2dlck5hbWU6IHsgJGV4aXN0czogdHJ1ZSB9LFxuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlRnVuY3Rpb24oZnVuY3Rpb25OYW1lKSB7XG4gICAgdHJpZ2dlcnMucmVtb3ZlRnVuY3Rpb24oZnVuY3Rpb25OYW1lLCB0aGlzLl9hcHBsaWNhdGlvbklkKTtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZlSG9va3MoeyBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSB9KTtcbiAgfVxuXG4gIGRlbGV0ZVRyaWdnZXIoY2xhc3NOYW1lLCB0cmlnZ2VyTmFtZSkge1xuICAgIHRyaWdnZXJzLnJlbW92ZVRyaWdnZXIodHJpZ2dlck5hbWUsIGNsYXNzTmFtZSwgdGhpcy5fYXBwbGljYXRpb25JZCk7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUhvb2tzKHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgdHJpZ2dlck5hbWU6IHRyaWdnZXJOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgX2dldEhvb2tzKHF1ZXJ5ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhYmFzZS5maW5kKERlZmF1bHRIb29rc0NvbGxlY3Rpb25OYW1lLCBxdWVyeSkudGhlbihyZXN1bHRzID0+IHtcbiAgICAgIHJldHVybiByZXN1bHRzLm1hcChyZXN1bHQgPT4ge1xuICAgICAgICBkZWxldGUgcmVzdWx0Lm9iamVjdElkO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBfcmVtb3ZlSG9va3MocXVlcnkpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhYmFzZS5kZXN0cm95KERlZmF1bHRIb29rc0NvbGxlY3Rpb25OYW1lLCBxdWVyeSkudGhlbigoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVIb29rKGhvb2spIHtcbiAgICB2YXIgcXVlcnk7XG4gICAgaWYgKGhvb2suZnVuY3Rpb25OYW1lICYmIGhvb2sudXJsKSB7XG4gICAgICBxdWVyeSA9IHsgZnVuY3Rpb25OYW1lOiBob29rLmZ1bmN0aW9uTmFtZSB9O1xuICAgIH0gZWxzZSBpZiAoaG9vay50cmlnZ2VyTmFtZSAmJiBob29rLmNsYXNzTmFtZSAmJiBob29rLnVybCkge1xuICAgICAgcXVlcnkgPSB7IGNsYXNzTmFtZTogaG9vay5jbGFzc05hbWUsIHRyaWdnZXJOYW1lOiBob29rLnRyaWdnZXJOYW1lIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsICdpbnZhbGlkIGhvb2sgZGVjbGFyYXRpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGF0YWJhc2VcbiAgICAgIC51cGRhdGUoRGVmYXVsdEhvb2tzQ29sbGVjdGlvbk5hbWUsIHF1ZXJ5LCBob29rLCB7IHVwc2VydDogdHJ1ZSB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGhvb2spO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGRIb29rVG9UcmlnZ2Vycyhob29rKSB7XG4gICAgdmFyIHdyYXBwZWRGdW5jdGlvbiA9IHdyYXBUb0hUVFBSZXF1ZXN0KGhvb2ssIHRoaXMuX3dlYmhvb2tLZXkpO1xuICAgIHdyYXBwZWRGdW5jdGlvbi51cmwgPSBob29rLnVybDtcbiAgICBpZiAoaG9vay5jbGFzc05hbWUpIHtcbiAgICAgIHRyaWdnZXJzLmFkZFRyaWdnZXIoaG9vay50cmlnZ2VyTmFtZSwgaG9vay5jbGFzc05hbWUsIHdyYXBwZWRGdW5jdGlvbiwgdGhpcy5fYXBwbGljYXRpb25JZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyaWdnZXJzLmFkZEZ1bmN0aW9uKGhvb2suZnVuY3Rpb25OYW1lLCB3cmFwcGVkRnVuY3Rpb24sIG51bGwsIHRoaXMuX2FwcGxpY2F0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIGFkZEhvb2soaG9vaykge1xuICAgIHRoaXMuYWRkSG9va1RvVHJpZ2dlcnMoaG9vayk7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZUhvb2soaG9vayk7XG4gIH1cblxuICBjcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spIHtcbiAgICB2YXIgaG9vaztcbiAgICBpZiAoYUhvb2sgJiYgYUhvb2suZnVuY3Rpb25OYW1lICYmIGFIb29rLnVybCkge1xuICAgICAgaG9vayA9IHt9O1xuICAgICAgaG9vay5mdW5jdGlvbk5hbWUgPSBhSG9vay5mdW5jdGlvbk5hbWU7XG4gICAgICBob29rLnVybCA9IGFIb29rLnVybDtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgYUhvb2sgJiZcbiAgICAgIGFIb29rLmNsYXNzTmFtZSAmJlxuICAgICAgYUhvb2sudXJsICYmXG4gICAgICBhSG9vay50cmlnZ2VyTmFtZSAmJlxuICAgICAgdHJpZ2dlcnMuVHlwZXNbYUhvb2sudHJpZ2dlck5hbWVdXG4gICAgKSB7XG4gICAgICBob29rID0ge307XG4gICAgICBob29rLmNsYXNzTmFtZSA9IGFIb29rLmNsYXNzTmFtZTtcbiAgICAgIGhvb2sudXJsID0gYUhvb2sudXJsO1xuICAgICAgaG9vay50cmlnZ2VyTmFtZSA9IGFIb29rLnRyaWdnZXJOYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCAnaW52YWxpZCBob29rIGRlY2xhcmF0aW9uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWRkSG9vayhob29rKTtcbiAgfVxuXG4gIGNyZWF0ZUhvb2soYUhvb2spIHtcbiAgICBpZiAoYUhvb2suZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRGdW5jdGlvbihhSG9vay5mdW5jdGlvbk5hbWUpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsIGBmdW5jdGlvbiBuYW1lOiAke2FIb29rLmZ1bmN0aW9uTmFtZX0gYWxyZWFkeSBleGlzdHNgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGFIb29rLmNsYXNzTmFtZSAmJiBhSG9vay50cmlnZ2VyTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJpZ2dlcihhSG9vay5jbGFzc05hbWUsIGFIb29rLnRyaWdnZXJOYW1lKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICAxNDMsXG4gICAgICAgICAgICBgY2xhc3MgJHthSG9vay5jbGFzc05hbWV9IGFscmVhZHkgaGFzIHRyaWdnZXIgJHthSG9vay50cmlnZ2VyTmFtZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKDE0MywgJ2ludmFsaWQgaG9vayBkZWNsYXJhdGlvbicpO1xuICB9XG5cbiAgdXBkYXRlSG9vayhhSG9vaykge1xuICAgIGlmIChhSG9vay5mdW5jdGlvbk5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEZ1bmN0aW9uKGFIb29rLmZ1bmN0aW9uTmFtZSkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlT3JVcGRhdGVIb29rKGFIb29rKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCBgbm8gZnVuY3Rpb24gbmFtZWQ6ICR7YUhvb2suZnVuY3Rpb25OYW1lfSBpcyBkZWZpbmVkYCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGFIb29rLmNsYXNzTmFtZSAmJiBhSG9vay50cmlnZ2VyTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJpZ2dlcihhSG9vay5jbGFzc05hbWUsIGFIb29rLnRyaWdnZXJOYW1lKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVPclVwZGF0ZUhvb2soYUhvb2spO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsIGBjbGFzcyAke2FIb29rLmNsYXNzTmFtZX0gZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCAnaW52YWxpZCBob29rIGRlY2xhcmF0aW9uJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gd3JhcFRvSFRUUFJlcXVlc3QoaG9vaywga2V5KSB7XG4gIHJldHVybiByZXEgPT4ge1xuICAgIGNvbnN0IGpzb25Cb2R5ID0ge307XG4gICAgZm9yICh2YXIgaSBpbiByZXEpIHtcbiAgICAgIGpzb25Cb2R5W2ldID0gcmVxW2ldO1xuICAgIH1cbiAgICBpZiAocmVxLm9iamVjdCkge1xuICAgICAganNvbkJvZHkub2JqZWN0ID0gcmVxLm9iamVjdC50b0pTT04oKTtcbiAgICAgIGpzb25Cb2R5Lm9iamVjdC5jbGFzc05hbWUgPSByZXEub2JqZWN0LmNsYXNzTmFtZTtcbiAgICB9XG4gICAgaWYgKHJlcS5vcmlnaW5hbCkge1xuICAgICAganNvbkJvZHkub3JpZ2luYWwgPSByZXEub3JpZ2luYWwudG9KU09OKCk7XG4gICAgICBqc29uQm9keS5vcmlnaW5hbC5jbGFzc05hbWUgPSByZXEub3JpZ2luYWwuY2xhc3NOYW1lO1xuICAgIH1cbiAgICBjb25zdCBqc29uUmVxdWVzdDogYW55ID0ge1xuICAgICAgdXJsOiBob29rLnVybCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBib2R5OiBqc29uQm9keSxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIH07XG5cbiAgICBjb25zdCBhZ2VudCA9IGhvb2sudXJsLnN0YXJ0c1dpdGgoJ2h0dHBzJykgPyBIVFRQQWdlbnRzWydodHRwcyddIDogSFRUUEFnZW50c1snaHR0cCddO1xuICAgIGpzb25SZXF1ZXN0LmFnZW50ID0gYWdlbnQ7XG5cbiAgICBpZiAoa2V5KSB7XG4gICAgICBqc29uUmVxdWVzdC5oZWFkZXJzWydYLVBhcnNlLVdlYmhvb2stS2V5J10gPSBrZXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci53YXJuKCdNYWtpbmcgb3V0Z29pbmcgd2ViaG9vayByZXF1ZXN0IHdpdGhvdXQgd2ViaG9va0tleSBiZWluZyBzZXQhJyk7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0KGpzb25SZXF1ZXN0KS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgIGxldCBlcnI7XG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgbGV0IGJvZHkgPSByZXNwb25zZS5kYXRhO1xuICAgICAgaWYgKGJvZHkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBib2R5ID0gSlNPTi5wYXJzZShib2R5KTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBlcnIgPSB7XG4gICAgICAgICAgICAgIGVycm9yOiAnTWFsZm9ybWVkIHJlc3BvbnNlJyxcbiAgICAgICAgICAgICAgY29kZTogLTEsXG4gICAgICAgICAgICAgIHBhcnRpYWxSZXNwb25zZTogYm9keS5zdWJzdHJpbmcoMCwgMTAwKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZXJyKSB7XG4gICAgICAgICAgcmVzdWx0ID0gYm9keS5zdWNjZXNzO1xuICAgICAgICAgIGVyciA9IGJvZHkuZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfSBlbHNlIGlmIChob29rLnRyaWdnZXJOYW1lID09PSAnYmVmb3JlU2F2ZScpIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgZGVsZXRlIHJlc3VsdC5jcmVhdGVkQXQ7XG4gICAgICAgICAgZGVsZXRlIHJlc3VsdC51cGRhdGVkQXQ7XG4gICAgICAgICAgZGVsZXRlIHJlc3VsdC5jbGFzc05hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgb2JqZWN0OiByZXN1bHQgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEhvb2tzQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsSUFBQUEsUUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsS0FBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQTBCLFNBQUFHLHVCQUFBSSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUcseUJBQUFILENBQUEsNkJBQUFJLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUQsd0JBQUEsWUFBQUEsQ0FBQUgsQ0FBQSxXQUFBQSxDQUFBLEdBQUFNLENBQUEsR0FBQUQsQ0FBQSxLQUFBTCxDQUFBO0FBQUEsU0FBQVIsd0JBQUFRLENBQUEsRUFBQUssQ0FBQSxTQUFBQSxDQUFBLElBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLFNBQUFELENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBRSxPQUFBLEVBQUFGLENBQUEsUUFBQU0sQ0FBQSxHQUFBSCx3QkFBQSxDQUFBRSxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxHQUFBLENBQUFQLENBQUEsVUFBQU0sQ0FBQSxDQUFBRSxHQUFBLENBQUFSLENBQUEsT0FBQVMsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZixDQUFBLG9CQUFBZSxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBakIsQ0FBQSxFQUFBZSxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFkLENBQUEsRUFBQWUsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZixDQUFBLENBQUFlLENBQUEsWUFBQU4sQ0FBQSxDQUFBUCxPQUFBLEdBQUFGLENBQUEsRUFBQU0sQ0FBQSxJQUFBQSxDQUFBLENBQUFhLEdBQUEsQ0FBQW5CLENBQUEsRUFBQVMsQ0FBQSxHQUFBQSxDQUFBO0FBTjFCO0FBRUE7QUFNQSxNQUFNVywwQkFBMEIsR0FBRyxRQUFRO0FBQzNDLE1BQU1DLFVBQVUsR0FBRztFQUNqQkMsSUFBSSxFQUFFLElBQUlBLGFBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBQUVDLFNBQVMsRUFBRTtFQUFLLENBQUMsQ0FBQztFQUN6Q0MsS0FBSyxFQUFFLElBQUlBLGNBQUssQ0FBQ0YsS0FBSyxDQUFDO0lBQUVDLFNBQVMsRUFBRTtFQUFLLENBQUM7QUFDNUMsQ0FBQztBQUVNLE1BQU1FLGVBQWUsQ0FBQztFQUszQkMsV0FBV0EsQ0FBQ0MsYUFBcUIsRUFBRUMsa0JBQWtCLEVBQUVDLFVBQVUsRUFBRTtJQUNqRSxJQUFJLENBQUNDLGNBQWMsR0FBR0gsYUFBYTtJQUNuQyxJQUFJLENBQUNJLFdBQVcsR0FBR0YsVUFBVTtJQUM3QixJQUFJLENBQUNHLFFBQVEsR0FBR0osa0JBQWtCO0VBQ3BDO0VBRUFLLElBQUlBLENBQUEsRUFBRztJQUNMLE9BQU8sSUFBSSxDQUFDQyxTQUFTLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUNDLEtBQUssSUFBSTtNQUNwQ0EsS0FBSyxHQUFHQSxLQUFLLElBQUksRUFBRTtNQUNuQkEsS0FBSyxDQUFDQyxPQUFPLENBQUNDLElBQUksSUFBSTtRQUNwQixJQUFJLENBQUNDLGlCQUFpQixDQUFDRCxJQUFJLENBQUM7TUFDOUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0VBQ0o7RUFFQUUsV0FBV0EsQ0FBQ0MsWUFBWSxFQUFFO0lBQ3hCLE9BQU8sSUFBSSxDQUFDUCxTQUFTLENBQUM7TUFBRU8sWUFBWSxFQUFFQTtJQUFhLENBQUMsQ0FBQyxDQUFDTixJQUFJLENBQUNPLE9BQU8sSUFBSUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ25GO0VBRUFDLFlBQVlBLENBQUEsRUFBRztJQUNiLE9BQU8sSUFBSSxDQUFDVCxTQUFTLENBQUM7TUFBRU8sWUFBWSxFQUFFO1FBQUVHLE9BQU8sRUFBRTtNQUFLO0lBQUUsQ0FBQyxDQUFDO0VBQzVEO0VBRUFDLFVBQVVBLENBQUNDLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQ2pDLE9BQU8sSUFBSSxDQUFDYixTQUFTLENBQUM7TUFDcEJZLFNBQVMsRUFBRUEsU0FBUztNQUNwQkMsV0FBVyxFQUFFQTtJQUNmLENBQUMsQ0FBQyxDQUFDWixJQUFJLENBQUNPLE9BQU8sSUFBSUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ2hDO0VBRUFNLFdBQVdBLENBQUEsRUFBRztJQUNaLE9BQU8sSUFBSSxDQUFDZCxTQUFTLENBQUM7TUFDcEJZLFNBQVMsRUFBRTtRQUFFRixPQUFPLEVBQUU7TUFBSyxDQUFDO01BQzVCRyxXQUFXLEVBQUU7UUFBRUgsT0FBTyxFQUFFO01BQUs7SUFDL0IsQ0FBQyxDQUFDO0VBQ0o7RUFFQUssY0FBY0EsQ0FBQ1IsWUFBWSxFQUFFO0lBQzNCbkQsUUFBUSxDQUFDNEQsY0FBYyxDQUFDVCxZQUFZLEVBQUUsSUFBSSxDQUFDWCxjQUFjLENBQUM7SUFDMUQsT0FBTyxJQUFJLENBQUNxQixZQUFZLENBQUM7TUFBRVYsWUFBWSxFQUFFQTtJQUFhLENBQUMsQ0FBQztFQUMxRDtFQUVBVyxhQUFhQSxDQUFDTixTQUFTLEVBQUVDLFdBQVcsRUFBRTtJQUNwQ3pELFFBQVEsQ0FBQytELGFBQWEsQ0FBQ04sV0FBVyxFQUFFRCxTQUFTLEVBQUUsSUFBSSxDQUFDaEIsY0FBYyxDQUFDO0lBQ25FLE9BQU8sSUFBSSxDQUFDcUIsWUFBWSxDQUFDO01BQ3ZCTCxTQUFTLEVBQUVBLFNBQVM7TUFDcEJDLFdBQVcsRUFBRUE7SUFDZixDQUFDLENBQUM7RUFDSjtFQUVBYixTQUFTQSxDQUFDb0IsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ3BCLE9BQU8sSUFBSSxDQUFDdEIsUUFBUSxDQUFDdUIsSUFBSSxDQUFDcEMsMEJBQTBCLEVBQUVtQyxLQUFLLENBQUMsQ0FBQ25CLElBQUksQ0FBQ08sT0FBTyxJQUFJO01BQzNFLE9BQU9BLE9BQU8sQ0FBQ2MsR0FBRyxDQUFDQyxNQUFNLElBQUk7UUFDM0IsT0FBT0EsTUFBTSxDQUFDQyxRQUFRO1FBQ3RCLE9BQU9ELE1BQU07TUFDZixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7RUFDSjtFQUVBTixZQUFZQSxDQUFDRyxLQUFLLEVBQUU7SUFDbEIsT0FBTyxJQUFJLENBQUN0QixRQUFRLENBQUMyQixPQUFPLENBQUN4QywwQkFBMEIsRUFBRW1DLEtBQUssQ0FBQyxDQUFDbkIsSUFBSSxDQUFDLE1BQU07TUFDekUsT0FBT3lCLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQztFQUNKO0VBRUFDLFFBQVFBLENBQUN4QixJQUFJLEVBQUU7SUFDYixJQUFJZ0IsS0FBSztJQUNULElBQUloQixJQUFJLENBQUNHLFlBQVksSUFBSUgsSUFBSSxDQUFDeUIsR0FBRyxFQUFFO01BQ2pDVCxLQUFLLEdBQUc7UUFBRWIsWUFBWSxFQUFFSCxJQUFJLENBQUNHO01BQWEsQ0FBQztJQUM3QyxDQUFDLE1BQU0sSUFBSUgsSUFBSSxDQUFDUyxXQUFXLElBQUlULElBQUksQ0FBQ1EsU0FBUyxJQUFJUixJQUFJLENBQUN5QixHQUFHLEVBQUU7TUFDekRULEtBQUssR0FBRztRQUFFUixTQUFTLEVBQUVSLElBQUksQ0FBQ1EsU0FBUztRQUFFQyxXQUFXLEVBQUVULElBQUksQ0FBQ1M7TUFBWSxDQUFDO0lBQ3RFLENBQUMsTUFBTTtNQUNMLE1BQU0sSUFBSXRELEtBQUssQ0FBQ3VFLEtBQUssQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7SUFDeEQ7SUFDQSxPQUFPLElBQUksQ0FBQ2hDLFFBQVEsQ0FDakJpQyxNQUFNLENBQUM5QywwQkFBMEIsRUFBRW1DLEtBQUssRUFBRWhCLElBQUksRUFBRTtNQUFFNEIsTUFBTSxFQUFFO0lBQUssQ0FBQyxDQUFDLENBQ2pFL0IsSUFBSSxDQUFDLE1BQU07TUFDVixPQUFPeUIsT0FBTyxDQUFDQyxPQUFPLENBQUN2QixJQUFJLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0VBQ047RUFFQUMsaUJBQWlCQSxDQUFDRCxJQUFJLEVBQUU7SUFDdEIsSUFBSTZCLGVBQWUsR0FBR0MsaUJBQWlCLENBQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDUCxXQUFXLENBQUM7SUFDL0RvQyxlQUFlLENBQUNKLEdBQUcsR0FBR3pCLElBQUksQ0FBQ3lCLEdBQUc7SUFDOUIsSUFBSXpCLElBQUksQ0FBQ1EsU0FBUyxFQUFFO01BQ2xCeEQsUUFBUSxDQUFDK0UsVUFBVSxDQUFDL0IsSUFBSSxDQUFDUyxXQUFXLEVBQUVULElBQUksQ0FBQ1EsU0FBUyxFQUFFcUIsZUFBZSxFQUFFLElBQUksQ0FBQ3JDLGNBQWMsQ0FBQztJQUM3RixDQUFDLE1BQU07TUFDTHhDLFFBQVEsQ0FBQ2dGLFdBQVcsQ0FBQ2hDLElBQUksQ0FBQ0csWUFBWSxFQUFFMEIsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUNyQyxjQUFjLENBQUM7SUFDckY7RUFDRjtFQUVBeUMsT0FBT0EsQ0FBQ2pDLElBQUksRUFBRTtJQUNaLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNELElBQUksQ0FBQztJQUM1QixPQUFPLElBQUksQ0FBQ3dCLFFBQVEsQ0FBQ3hCLElBQUksQ0FBQztFQUM1QjtFQUVBa0Msa0JBQWtCQSxDQUFDQyxLQUFLLEVBQUU7SUFDeEIsSUFBSW5DLElBQUk7SUFDUixJQUFJbUMsS0FBSyxJQUFJQSxLQUFLLENBQUNoQyxZQUFZLElBQUlnQyxLQUFLLENBQUNWLEdBQUcsRUFBRTtNQUM1Q3pCLElBQUksR0FBRyxDQUFDLENBQUM7TUFDVEEsSUFBSSxDQUFDRyxZQUFZLEdBQUdnQyxLQUFLLENBQUNoQyxZQUFZO01BQ3RDSCxJQUFJLENBQUN5QixHQUFHLEdBQUdVLEtBQUssQ0FBQ1YsR0FBRztJQUN0QixDQUFDLE1BQU0sSUFDTFUsS0FBSyxJQUNMQSxLQUFLLENBQUMzQixTQUFTLElBQ2YyQixLQUFLLENBQUNWLEdBQUcsSUFDVFUsS0FBSyxDQUFDMUIsV0FBVyxJQUNqQnpELFFBQVEsQ0FBQ29GLEtBQUssQ0FBQ0QsS0FBSyxDQUFDMUIsV0FBVyxDQUFDLEVBQ2pDO01BQ0FULElBQUksR0FBRyxDQUFDLENBQUM7TUFDVEEsSUFBSSxDQUFDUSxTQUFTLEdBQUcyQixLQUFLLENBQUMzQixTQUFTO01BQ2hDUixJQUFJLENBQUN5QixHQUFHLEdBQUdVLEtBQUssQ0FBQ1YsR0FBRztNQUNwQnpCLElBQUksQ0FBQ1MsV0FBVyxHQUFHMEIsS0FBSyxDQUFDMUIsV0FBVztJQUN0QyxDQUFDLE1BQU07TUFDTCxNQUFNLElBQUl0RCxLQUFLLENBQUN1RSxLQUFLLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO0lBQ3hEO0lBRUEsT0FBTyxJQUFJLENBQUNPLE9BQU8sQ0FBQ2pDLElBQUksQ0FBQztFQUMzQjtFQUVBcUMsVUFBVUEsQ0FBQ0YsS0FBSyxFQUFFO0lBQ2hCLElBQUlBLEtBQUssQ0FBQ2hDLFlBQVksRUFBRTtNQUN0QixPQUFPLElBQUksQ0FBQ0QsV0FBVyxDQUFDaUMsS0FBSyxDQUFDaEMsWUFBWSxDQUFDLENBQUNOLElBQUksQ0FBQ3NCLE1BQU0sSUFBSTtRQUN6RCxJQUFJQSxNQUFNLEVBQUU7VUFDVixNQUFNLElBQUloRSxLQUFLLENBQUN1RSxLQUFLLENBQUMsR0FBRyxFQUFFLGtCQUFrQlMsS0FBSyxDQUFDaEMsWUFBWSxpQkFBaUIsQ0FBQztRQUNuRixDQUFDLE1BQU07VUFDTCxPQUFPLElBQUksQ0FBQytCLGtCQUFrQixDQUFDQyxLQUFLLENBQUM7UUFDdkM7TUFDRixDQUFDLENBQUM7SUFDSixDQUFDLE1BQU0sSUFBSUEsS0FBSyxDQUFDM0IsU0FBUyxJQUFJMkIsS0FBSyxDQUFDMUIsV0FBVyxFQUFFO01BQy9DLE9BQU8sSUFBSSxDQUFDRixVQUFVLENBQUM0QixLQUFLLENBQUMzQixTQUFTLEVBQUUyQixLQUFLLENBQUMxQixXQUFXLENBQUMsQ0FBQ1osSUFBSSxDQUFDc0IsTUFBTSxJQUFJO1FBQ3hFLElBQUlBLE1BQU0sRUFBRTtVQUNWLE1BQU0sSUFBSWhFLEtBQUssQ0FBQ3VFLEtBQUssQ0FDbkIsR0FBRyxFQUNILFNBQVNTLEtBQUssQ0FBQzNCLFNBQVMsd0JBQXdCMkIsS0FBSyxDQUFDMUIsV0FBVyxFQUNuRSxDQUFDO1FBQ0g7UUFDQSxPQUFPLElBQUksQ0FBQ3lCLGtCQUFrQixDQUFDQyxLQUFLLENBQUM7TUFDdkMsQ0FBQyxDQUFDO0lBQ0o7SUFFQSxNQUFNLElBQUloRixLQUFLLENBQUN1RSxLQUFLLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO0VBQ3hEO0VBRUFZLFVBQVVBLENBQUNILEtBQUssRUFBRTtJQUNoQixJQUFJQSxLQUFLLENBQUNoQyxZQUFZLEVBQUU7TUFDdEIsT0FBTyxJQUFJLENBQUNELFdBQVcsQ0FBQ2lDLEtBQUssQ0FBQ2hDLFlBQVksQ0FBQyxDQUFDTixJQUFJLENBQUNzQixNQUFNLElBQUk7UUFDekQsSUFBSUEsTUFBTSxFQUFFO1VBQ1YsT0FBTyxJQUFJLENBQUNlLGtCQUFrQixDQUFDQyxLQUFLLENBQUM7UUFDdkM7UUFDQSxNQUFNLElBQUloRixLQUFLLENBQUN1RSxLQUFLLENBQUMsR0FBRyxFQUFFLHNCQUFzQlMsS0FBSyxDQUFDaEMsWUFBWSxhQUFhLENBQUM7TUFDbkYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxNQUFNLElBQUlnQyxLQUFLLENBQUMzQixTQUFTLElBQUkyQixLQUFLLENBQUMxQixXQUFXLEVBQUU7TUFDL0MsT0FBTyxJQUFJLENBQUNGLFVBQVUsQ0FBQzRCLEtBQUssQ0FBQzNCLFNBQVMsRUFBRTJCLEtBQUssQ0FBQzFCLFdBQVcsQ0FBQyxDQUFDWixJQUFJLENBQUNzQixNQUFNLElBQUk7UUFDeEUsSUFBSUEsTUFBTSxFQUFFO1VBQ1YsT0FBTyxJQUFJLENBQUNlLGtCQUFrQixDQUFDQyxLQUFLLENBQUM7UUFDdkM7UUFDQSxNQUFNLElBQUloRixLQUFLLENBQUN1RSxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVNTLEtBQUssQ0FBQzNCLFNBQVMsaUJBQWlCLENBQUM7TUFDdkUsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxNQUFNLElBQUlyRCxLQUFLLENBQUN1RSxLQUFLLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO0VBQ3hEO0FBQ0Y7QUFBQ2EsT0FBQSxDQUFBcEQsZUFBQSxHQUFBQSxlQUFBO0FBRUQsU0FBUzJDLGlCQUFpQkEsQ0FBQzlCLElBQUksRUFBRXdDLEdBQUcsRUFBRTtFQUNwQyxPQUFPQyxHQUFHLElBQUk7SUFDWixNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLEtBQUssSUFBSS9ELENBQUMsSUFBSThELEdBQUcsRUFBRTtNQUNqQkMsUUFBUSxDQUFDL0QsQ0FBQyxDQUFDLEdBQUc4RCxHQUFHLENBQUM5RCxDQUFDLENBQUM7SUFDdEI7SUFDQSxJQUFJOEQsR0FBRyxDQUFDRSxNQUFNLEVBQUU7TUFDZEQsUUFBUSxDQUFDQyxNQUFNLEdBQUdGLEdBQUcsQ0FBQ0UsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQztNQUNyQ0YsUUFBUSxDQUFDQyxNQUFNLENBQUNuQyxTQUFTLEdBQUdpQyxHQUFHLENBQUNFLE1BQU0sQ0FBQ25DLFNBQVM7SUFDbEQ7SUFDQSxJQUFJaUMsR0FBRyxDQUFDSSxRQUFRLEVBQUU7TUFDaEJILFFBQVEsQ0FBQ0csUUFBUSxHQUFHSixHQUFHLENBQUNJLFFBQVEsQ0FBQ0QsTUFBTSxDQUFDLENBQUM7TUFDekNGLFFBQVEsQ0FBQ0csUUFBUSxDQUFDckMsU0FBUyxHQUFHaUMsR0FBRyxDQUFDSSxRQUFRLENBQUNyQyxTQUFTO0lBQ3REO0lBQ0EsTUFBTXNDLFdBQWdCLEdBQUc7TUFDdkJyQixHQUFHLEVBQUV6QixJQUFJLENBQUN5QixHQUFHO01BQ2JzQixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUU7TUFDbEIsQ0FBQztNQUNEQyxJQUFJLEVBQUVOLFFBQVE7TUFDZE8sTUFBTSxFQUFFO0lBQ1YsQ0FBQztJQUVELE1BQU1DLEtBQUssR0FBR2xELElBQUksQ0FBQ3lCLEdBQUcsQ0FBQzBCLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBR3JFLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBR0EsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNyRmdFLFdBQVcsQ0FBQ0ksS0FBSyxHQUFHQSxLQUFLO0lBRXpCLElBQUlWLEdBQUcsRUFBRTtNQUNQTSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHUCxHQUFHO0lBQ2xELENBQUMsTUFBTTtNQUNMWSxjQUFNLENBQUNDLElBQUksQ0FBQywrREFBK0QsQ0FBQztJQUM5RTtJQUNBLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQ1IsV0FBVyxDQUFDLENBQUNqRCxJQUFJLENBQUMwRCxRQUFRLElBQUk7TUFDM0MsSUFBSUMsR0FBRztNQUNQLElBQUlyQyxNQUFNO01BQ1YsSUFBSTZCLElBQUksR0FBR08sUUFBUSxDQUFDRSxJQUFJO01BQ3hCLElBQUlULElBQUksRUFBRTtRQUNSLElBQUksT0FBT0EsSUFBSSxLQUFLLFFBQVEsRUFBRTtVQUM1QixJQUFJO1lBQ0ZBLElBQUksR0FBR1UsSUFBSSxDQUFDQyxLQUFLLENBQUNYLElBQUksQ0FBQztVQUN6QixDQUFDLENBQUMsT0FBT3ZGLENBQUMsRUFBRTtZQUNWK0YsR0FBRyxHQUFHO2NBQ0pJLEtBQUssRUFBRSxvQkFBb0I7Y0FDM0JDLElBQUksRUFBRSxDQUFDLENBQUM7Y0FDUkMsZUFBZSxFQUFFZCxJQUFJLENBQUNlLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRztZQUN4QyxDQUFDO1VBQ0g7UUFDRjtRQUNBLElBQUksQ0FBQ1AsR0FBRyxFQUFFO1VBQ1JyQyxNQUFNLEdBQUc2QixJQUFJLENBQUNnQixPQUFPO1VBQ3JCUixHQUFHLEdBQUdSLElBQUksQ0FBQ1ksS0FBSztRQUNsQjtNQUNGO01BQ0EsSUFBSUosR0FBRyxFQUFFO1FBQ1AsTUFBTUEsR0FBRztNQUNYLENBQUMsTUFBTSxJQUFJeEQsSUFBSSxDQUFDUyxXQUFXLEtBQUssWUFBWSxFQUFFO1FBQzVDLElBQUksT0FBT1UsTUFBTSxLQUFLLFFBQVEsRUFBRTtVQUM5QixPQUFPQSxNQUFNLENBQUM4QyxTQUFTO1VBQ3ZCLE9BQU85QyxNQUFNLENBQUMrQyxTQUFTO1VBQ3ZCLE9BQU8vQyxNQUFNLENBQUNYLFNBQVM7UUFDekI7UUFDQSxPQUFPO1VBQUVtQyxNQUFNLEVBQUV4QjtRQUFPLENBQUM7TUFDM0IsQ0FBQyxNQUFNO1FBQ0wsT0FBT0EsTUFBTTtNQUNmO0lBQ0YsQ0FBQyxDQUFDO0VBQ0osQ0FBQztBQUNIO0FBQUMsSUFBQWdELFFBQUEsR0FBQTVCLE9BQUEsQ0FBQTVFLE9BQUEsR0FFY3dCLGVBQWUiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -69,4 +69,4 @@ class LiveQueryController {
|
|
|
69
69
|
}
|
|
70
70
|
exports.LiveQueryController = LiveQueryController;
|
|
71
71
|
var _default = exports.default = LiveQueryController;
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIiLCJyZXF1aXJlIiwiX09wdGlvbnMiLCJfdHJpZ2dlcnMiLCJMaXZlUXVlcnlDb250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJjb25maWciLCJjbGFzc05hbWVzIiwiU2V0IiwiQXJyYXkiLCJtYXAiLCJuYW1lIiwiX25hbWUiLCJnZXRDbGFzc05hbWUiLCJSZWdFeHAiLCJsaXZlUXVlcnlQdWJsaXNoZXIiLCJQYXJzZUNsb3VkQ29kZVB1Ymxpc2hlciIsImNvbm5lY3QiLCJvbkFmdGVyU2F2ZSIsImNsYXNzTmFtZSIsImN1cnJlbnRPYmplY3QiLCJvcmlnaW5hbE9iamVjdCIsImNsYXNzTGV2ZWxQZXJtaXNzaW9ucyIsImhhc0xpdmVRdWVyeSIsInJlcSIsIl9tYWtlUHVibGlzaGVyUmVxdWVzdCIsIm9uQ2xvdWRDb2RlQWZ0ZXJTYXZlIiwib25BZnRlckRlbGV0ZSIsIm9uQ2xvdWRDb2RlQWZ0ZXJEZWxldGUiLCJ0ZXN0IiwiY2xlYXJDYWNoZWRSb2xlcyIsInVzZXIiLCJvbkNsZWFyQ2FjaGVkUm9sZXMiLCJvYmplY3QiLCJvcmlnaW5hbCIsImV4cG9ydHMiLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udHJvbGxlcnMvTGl2ZVF1ZXJ5Q29udHJvbGxlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZUNsb3VkQ29kZVB1Ymxpc2hlciB9IGZyb20gJy4uL0xpdmVRdWVyeS9QYXJzZUNsb3VkQ29kZVB1Ymxpc2hlcic7XG5pbXBvcnQgeyBMaXZlUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vT3B0aW9ucyc7XG5pbXBvcnQgeyBnZXRDbGFzc05hbWUgfSBmcm9tICcuLy4uL3RyaWdnZXJzJztcbmV4cG9ydCBjbGFzcyBMaXZlUXVlcnlDb250cm9sbGVyIHtcbiAgY2xhc3NOYW1lczogYW55O1xuICBsaXZlUXVlcnlQdWJsaXNoZXI6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6ID9MaXZlUXVlcnlPcHRpb25zKSB7XG4gICAgLy8gSWYgY29uZmlnIGlzIGVtcHR5LCB3ZSBqdXN0IGFzc3VtZSBubyBjbGFzc3MgbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZCBhcyBMaXZlUXVlcnlcbiAgICBpZiAoIWNvbmZpZyB8fCAhY29uZmlnLmNsYXNzTmFtZXMpIHtcbiAgICAgIHRoaXMuY2xhc3NOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICB9IGVsc2UgaWYgKGNvbmZpZy5jbGFzc05hbWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBjb25maWcuY2xhc3NOYW1lcy5tYXAobmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IF9uYW1lID0gZ2V0Q2xhc3NOYW1lKG5hbWUpO1xuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChgXiR7X25hbWV9JGApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNsYXNzTmFtZXMgPSBuZXcgU2V0KGNsYXNzTmFtZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyAnbGl2ZVF1ZXJ5LmNsYXNzZXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZyc7XG4gICAgfVxuICAgIHRoaXMubGl2ZVF1ZXJ5UHVibGlzaGVyID0gbmV3IFBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyKGNvbmZpZyk7XG4gIH1cblxuICBjb25uZWN0KCkge1xuICAgIHJldHVybiB0aGlzLmxpdmVRdWVyeVB1Ymxpc2hlci5jb25uZWN0KCk7XG4gIH1cblxuICBvbkFmdGVyU2F2ZShcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgICBjdXJyZW50T2JqZWN0OiBhbnksXG4gICAgb3JpZ2luYWxPYmplY3Q6IGFueSxcbiAgICBjbGFzc0xldmVsUGVybWlzc2lvbnM6ID9hbnlcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmhhc0xpdmVRdWVyeShjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlcSA9IHRoaXMuX21ha2VQdWJsaXNoZXJSZXF1ZXN0KGN1cnJlbnRPYmplY3QsIG9yaWdpbmFsT2JqZWN0LCBjbGFzc0xldmVsUGVybWlzc2lvbnMpO1xuICAgIHRoaXMubGl2ZVF1ZXJ5UHVibGlzaGVyLm9uQ2xvdWRDb2RlQWZ0ZXJTYXZlKHJlcSk7XG4gIH1cblxuICBvbkFmdGVyRGVsZXRlKFxuICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRPYmplY3Q6IGFueSxcbiAgICBvcmlnaW5hbE9iamVjdDogYW55LFxuICAgIGNsYXNzTGV2ZWxQZXJtaXNzaW9uczogYW55XG4gICkge1xuICAgIGlmICghdGhpcy5oYXNMaXZlUXVlcnkoY2xhc3NOYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZXEgPSB0aGlzLl9tYWtlUHVibGlzaGVyUmVxdWVzdChjdXJyZW50T2JqZWN0LCBvcmlnaW5hbE9iamVjdCwgY2xhc3NMZXZlbFBlcm1pc3Npb25zKTtcbiAgICB0aGlzLmxpdmVRdWVyeVB1Ymxpc2hlci5vbkNsb3VkQ29kZUFmdGVyRGVsZXRlKHJlcSk7XG4gIH1cblxuICBoYXNMaXZlUXVlcnkoY2xhc3NOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5jbGFzc05hbWVzKSB7XG4gICAgICBpZiAobmFtZS50ZXN0KGNsYXNzTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNsZWFyQ2FjaGVkUm9sZXModXNlcjogYW55KSB7XG4gICAgaWYgKCF1c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxpdmVRdWVyeVB1Ymxpc2hlci5vbkNsZWFyQ2FjaGVkUm9sZXModXNlcik7XG4gIH1cblxuICBfbWFrZVB1Ymxpc2hlclJlcXVlc3QoY3VycmVudE9iamVjdDogYW55LCBvcmlnaW5hbE9iamVjdDogYW55LCBjbGFzc0xldmVsUGVybWlzc2lvbnM6ID9hbnkpOiBhbnkge1xuICAgIGNvbnN0IHJlcSA9IHtcbiAgICAgIG9iamVjdDogY3VycmVudE9iamVjdCxcbiAgICB9O1xuICAgIGlmIChjdXJyZW50T2JqZWN0KSB7XG4gICAgICByZXEub3JpZ2luYWwgPSBvcmlnaW5hbE9iamVjdDtcbiAgICB9XG4gICAgaWYgKGNsYXNzTGV2ZWxQZXJtaXNzaW9ucykge1xuICAgICAgcmVxLmNsYXNzTGV2ZWxQZXJtaXNzaW9ucyA9IGNsYXNzTGV2ZWxQZXJtaXNzaW9ucztcbiAgICB9XG4gICAgcmV0dXJuIHJlcTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMaXZlUXVlcnlDb250cm9sbGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSx3QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQ08sTUFBTUcsbUJBQW1CLENBQUM7RUFJL0JDLFdBQVdBLENBQUNDLE1BQXlCLEVBQUU7SUFDckM7SUFDQSxJQUFJLENBQUNBLE1BQU0sSUFBSSxDQUFDQSxNQUFNLENBQUNDLFVBQVUsRUFBRTtNQUNqQyxJQUFJLENBQUNBLFVBQVUsR0FBRyxJQUFJQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDLE1BQU0sSUFBSUYsTUFBTSxDQUFDQyxVQUFVLFlBQVlFLEtBQUssRUFBRTtNQUM3QyxNQUFNRixVQUFVLEdBQUdELE1BQU0sQ0FBQ0MsVUFBVSxDQUFDRyxHQUFHLENBQUNDLElBQUksSUFBSTtRQUMvQyxNQUFNQyxLQUFLLEdBQUcsSUFBQUMsc0JBQVksRUFBQ0YsSUFBSSxDQUFDO1FBQ2hDLE9BQU8sSUFBSUcsTUFBTSxDQUFDLElBQUlGLEtBQUssR0FBRyxDQUFDO01BQ2pDLENBQUMsQ0FBQztNQUNGLElBQUksQ0FBQ0wsVUFBVSxHQUFHLElBQUlDLEdBQUcsQ0FBQ0QsVUFBVSxDQUFDO0lBQ3ZDLENBQUMsTUFBTTtNQUNMLE1BQU0sZ0RBQWdEO0lBQ3hEO0lBQ0EsSUFBSSxDQUFDUSxrQkFBa0IsR0FBRyxJQUFJQyxnREFBdUIsQ0FBQ1YsTUFBTSxDQUFDO0VBQy9EO0VBRUFXLE9BQU9BLENBQUEsRUFBRztJQUNSLE9BQU8sSUFBSSxDQUFDRixrQkFBa0IsQ0FBQ0UsT0FBTyxDQUFDLENBQUM7RUFDMUM7RUFFQUMsV0FBV0EsQ0FDVEMsU0FBaUIsRUFDakJDLGFBQWtCLEVBQ2xCQyxjQUFtQixFQUNuQkMscUJBQTJCLEVBQzNCO0lBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQ0MsWUFBWSxDQUFDSixTQUFTLENBQUMsRUFBRTtNQUNqQztJQUNGO0lBQ0EsTUFBTUssR0FBRyxHQUFHLElBQUksQ0FBQ0MscUJBQXFCLENBQUNMLGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxxQkFBcUIsQ0FBQztJQUM1RixJQUFJLENBQUNQLGtCQUFrQixDQUFDVyxvQkFBb0IsQ0FBQ0YsR0FBRyxDQUFDO0VBQ25EO0VBRUFHLGFBQWFBLENBQ1hSLFNBQWlCLEVBQ2pCQyxhQUFrQixFQUNsQkMsY0FBbUIsRUFDbkJDLHFCQUEwQixFQUMxQjtJQUNBLElBQUksQ0FBQyxJQUFJLENBQUNDLFlBQVksQ0FBQ0osU0FBUyxDQUFDLEVBQUU7TUFDakM7SUFDRjtJQUNBLE1BQU1LLEdBQUcsR0FBRyxJQUFJLENBQUNDLHFCQUFxQixDQUFDTCxhQUFhLEVBQUVDLGNBQWMsRUFBRUMscUJBQXFCLENBQUM7SUFDNUYsSUFBSSxDQUFDUCxrQkFBa0IsQ0FBQ2Esc0JBQXNCLENBQUNKLEdBQUcsQ0FBQztFQUNyRDtFQUVBRCxZQUFZQSxDQUFDSixTQUFpQixFQUFXO0lBQ3ZDLEtBQUssTUFBTVIsSUFBSSxJQUFJLElBQUksQ0FBQ0osVUFBVSxFQUFFO01BQ2xDLElBQUlJLElBQUksQ0FBQ2tCLElBQUksQ0FBQ1YsU0FBUyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxJQUFJO01BQ2I7SUFDRjtJQUNBLE9BQU8sS0FBSztFQUNkO0VBRUFXLGdCQUFnQkEsQ0FBQ0MsSUFBUyxFQUFFO0lBQzFCLElBQUksQ0FBQ0EsSUFBSSxFQUFFO01BQ1Q7SUFDRjtJQUNBLE9BQU8sSUFBSSxDQUFDaEIsa0JBQWtCLENBQUNpQixrQkFBa0IsQ0FBQ0QsSUFBSSxDQUFDO0VBQ3pEO0VBRUFOLHFCQUFxQkEsQ0FBQ0wsYUFBa0IsRUFBRUMsY0FBbUIsRUFBRUMscUJBQTJCLEVBQU87SUFDL0YsTUFBTUUsR0FBRyxHQUFHO01BQ1ZTLE1BQU0sRUFBRWI7SUFDVixDQUFDO0lBQ0QsSUFBSUEsYUFBYSxFQUFFO01BQ2pCSSxHQUFHLENBQUNVLFFBQVEsR0FBR2IsY0FBYztJQUMvQjtJQUNBLElBQUlDLHFCQUFxQixFQUFFO01BQ3pCRSxHQUFHLENBQUNGLHFCQUFxQixHQUFHQSxxQkFBcUI7SUFDbkQ7SUFDQSxPQUFPRSxHQUFHO0VBQ1o7QUFDRjtBQUFDVyxPQUFBLENBQUEvQixtQkFBQSxHQUFBQSxtQkFBQTtBQUFBLElBQUFnQyxRQUFBLEdBQUFELE9BQUEsQ0FBQUUsT0FBQSxHQUVjakMsbUJBQW1CIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -7,7 +7,7 @@ exports.logLevels = exports.default = exports.LoggerController = exports.LogOrde
|
|
|
7
7
|
var _node = require("parse/node");
|
|
8
8
|
var _AdaptableController = _interopRequireDefault(require("./AdaptableController"));
|
|
9
9
|
var _LoggerAdapter = require("../Adapters/Logger/LoggerAdapter");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const MILLISECONDS_IN_A_DAY = 24 * 60 * 60 * 1000;
|
|
12
12
|
const LOG_STRING_TRUNCATE_LENGTH = 1000;
|
|
13
13
|
const truncationMarker = '... (truncated)';
|
|
@@ -218,4 +218,4 @@ class LoggerController extends _AdaptableController.default {
|
|
|
218
218
|
}
|
|
219
219
|
exports.LoggerController = LoggerController;
|
|
220
220
|
var _default = exports.default = LoggerController;
|
|
221
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsInJlcXVpcmUiLCJfQWRhcHRhYmxlQ29udHJvbGxlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTG9nZ2VyQWRhcHRlciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiTUlMTElTRUNPTkRTX0lOX0FfREFZIiwiTE9HX1NUUklOR19UUlVOQ0FURV9MRU5HVEgiLCJ0cnVuY2F0aW9uTWFya2VyIiwiTG9nTGV2ZWwiLCJleHBvcnRzIiwiSU5GTyIsIkVSUk9SIiwiTG9nT3JkZXIiLCJERVNDRU5ESU5HIiwiQVNDRU5ESU5HIiwibG9nTGV2ZWxzIiwiTG9nZ2VyQ29udHJvbGxlciIsIkFkYXB0YWJsZUNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFkYXB0ZXIiLCJhcHBJZCIsIm9wdGlvbnMiLCJsb2dMZXZlbCIsImxldmVsIiwidmVyYm9zZSIsImluZGV4IiwiaW5kZXhPZiIsImZvckVhY2giLCJsZXZlbEluZGV4IiwibWFza1NlbnNpdGl2ZVVybCIsInBhdGgiLCJ1cmxTdHJpbmciLCJ1cmxPYmoiLCJVUkwiLCJxdWVyeSIsInNlYXJjaFBhcmFtcyIsInNhbml0aXplZFF1ZXJ5Iiwia2V5IiwidmFsdWUiLCJzbGljZSIsInBhdGhuYW1lIiwibWFza1NlbnNpdGl2ZSIsImFyZ0FycmF5IiwibWFwIiwiZSIsInJlcGxhY2UiLCJ1cmwiLCJBcnJheSIsImlzQXJyYXkiLCJpdGVtIiwiYm9keSIsIk9iamVjdCIsImtleXMiLCJwYXJhbXMiLCJsb2ciLCJhcmdzIiwiY29uY2F0IiwiYXJnIiwiYXBwbHkiLCJpbmZvIiwiYXJndW1lbnRzIiwiZXJyb3IiLCJ3YXJuIiwiZGVidWciLCJzaWxseSIsImxvZ1JlcXVlc3QiLCJtZXRob2QiLCJoZWFkZXJzIiwic3RyaW5naWZpZWRCb2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImxvZ1Jlc3BvbnNlIiwicmVzdWx0Iiwic3RyaW5naWZpZWRSZXNwb25zZSIsInZhbGlkRGF0ZVRpbWUiLCJkYXRlIiwiRGF0ZSIsImlzTmFOIiwiZ2V0VGltZSIsInRydW5jYXRlTG9nTWVzc2FnZSIsInN0cmluZyIsImxlbmd0aCIsInRydW5jYXRlZCIsInN1YnN0cmluZyIsInBhcnNlT3B0aW9ucyIsImZyb20iLCJub3ciLCJ1bnRpbCIsInNpemUiLCJOdW1iZXIiLCJvcmRlciIsImdldExvZ3MiLCJQYXJzZSIsIkVycm9yIiwiUFVTSF9NSVNDT05GSUdVUkVEIiwiZXhwZWN0ZWRBZGFwdGVyVHlwZSIsIkxvZ2dlckFkYXB0ZXIiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9Mb2dnZXJDb250cm9sbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlIH0gZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgQWRhcHRhYmxlQ29udHJvbGxlciBmcm9tICcuL0FkYXB0YWJsZUNvbnRyb2xsZXInO1xuaW1wb3J0IHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL0xvZ2dlci9Mb2dnZXJBZGFwdGVyJztcblxuY29uc3QgTUlMTElTRUNPTkRTX0lOX0FfREFZID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbmNvbnN0IExPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIID0gMTAwMDtcbmNvbnN0IHRydW5jYXRpb25NYXJrZXIgPSAnLi4uICh0cnVuY2F0ZWQpJztcblxuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuICBJTkZPOiAnaW5mbycsXG4gIEVSUk9SOiAnZXJyb3InLFxufTtcblxuZXhwb3J0IGNvbnN0IExvZ09yZGVyID0ge1xuICBERVNDRU5ESU5HOiAnZGVzYycsXG4gIEFTQ0VORElORzogJ2FzYycsXG59O1xuXG5leHBvcnQgY29uc3QgbG9nTGV2ZWxzID0gWydlcnJvcicsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnLCAndmVyYm9zZScsICdzaWxseScsICdzaWxlbnQnXTtcblxuZXhwb3J0IGNsYXNzIExvZ2dlckNvbnRyb2xsZXIgZXh0ZW5kcyBBZGFwdGFibGVDb250cm9sbGVyIHtcbiAgY29uc3RydWN0b3IoYWRhcHRlciwgYXBwSWQsIG9wdGlvbnMgPSB7IGxvZ0xldmVsOiAnaW5mbycgfSkge1xuICAgIHN1cGVyKGFkYXB0ZXIsIGFwcElkLCBvcHRpb25zKTtcbiAgICBsZXQgbGV2ZWwgPSAnaW5mbyc7XG4gICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgbGV2ZWwgPSAndmVyYm9zZSc7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmxvZ0xldmVsKSB7XG4gICAgICBsZXZlbCA9IG9wdGlvbnMubG9nTGV2ZWw7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gbG9nTGV2ZWxzLmluZGV4T2YobGV2ZWwpOyAvLyBpbmZvIGJ5IGRlZmF1bHRcbiAgICBsb2dMZXZlbHMuZm9yRWFjaCgobGV2ZWwsIGxldmVsSW5kZXgpID0+IHtcbiAgICAgIGlmIChsZXZlbEluZGV4ID4gaW5kZXgpIHtcbiAgICAgICAgLy8gc2lsZW5jZSB0aGUgbGV2ZWxzIHRoYXQgYXJlID4gbWF4SW5kZXhcbiAgICAgICAgdGhpc1tsZXZlbF0gPSAoKSA9PiB7fTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG1hc2tTZW5zaXRpdmVVcmwocGF0aCkge1xuICAgIGNvbnN0IHVybFN0cmluZyA9ICdodHRwOi8vbG9jYWxob3N0JyArIHBhdGg7IC8vIHByZXBlbmQgZHVtbXkgc3RyaW5nIHRvIG1ha2UgYSByZWFsIFVSTFxuICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsU3RyaW5nKTtcbiAgICBjb25zdCBxdWVyeSA9IHVybE9iai5zZWFyY2hQYXJhbXM7XG4gICAgbGV0IHNhbml0aXplZFF1ZXJ5ID0gJz8nO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnkpIHtcbiAgICAgIGlmIChrZXkgIT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgLy8gbm9ybWFsIHZhbHVlXG4gICAgICAgIHNhbml0aXplZFF1ZXJ5ICs9IGtleSArICc9JyArIHZhbHVlICsgJyYnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gcGFzc3dvcmQgdmFsdWUsIHJlZGFjdCBpdFxuICAgICAgICBzYW5pdGl6ZWRRdWVyeSArPSBrZXkgKyAnPScgKyAnKioqKioqKionICsgJyYnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRyaW0gbGFzdCBjaGFyYWN0ZXIsID8gb3IgJlxuICAgIHNhbml0aXplZFF1ZXJ5ID0gc2FuaXRpemVkUXVlcnkuc2xpY2UoMCwgLTEpO1xuXG4gICAgLy8gcmV0dXJuIG9yaWdpbmFsIHBhdGggbmFtZSB3aXRoIHNhbml0aXplZCBwYXJhbXMgYXR0YWNoZWRcbiAgICByZXR1cm4gdXJsT2JqLnBhdGhuYW1lICsgc2FuaXRpemVkUXVlcnk7XG4gIH1cblxuICBtYXNrU2Vuc2l0aXZlKGFyZ0FycmF5KSB7XG4gICAgcmV0dXJuIGFyZ0FycmF5Lm1hcChlID0+IHtcbiAgICAgIGlmICghZSkge1xuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZS5yZXBsYWNlKC8ocGFzc3dvcmRcIi4/Oi4/XCIpW15cIl0qXCIvZywgJyQxKioqKioqKipcIicpO1xuICAgICAgfVxuICAgICAgLy8gZWxzZSBpdCBpcyBhbiBvYmplY3QuLi5cblxuICAgICAgLy8gY2hlY2sgdGhlIHVybFxuICAgICAgaWYgKGUudXJsKSB7XG4gICAgICAgIC8vIGZvciBzdHJpbmdzXG4gICAgICAgIGlmICh0eXBlb2YgZS51cmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZS51cmwgPSB0aGlzLm1hc2tTZW5zaXRpdmVVcmwoZS51cmwpO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZS51cmwpKSB7XG4gICAgICAgICAgLy8gZm9yIHN0cmluZ3MgaW4gYXJyYXlcbiAgICAgICAgICBlLnVybCA9IGUudXJsLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFza1NlbnNpdGl2ZVVybChpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGUuYm9keSkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhlLmJvZHkpKSB7XG4gICAgICAgICAgaWYgKGtleSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICAgICAgZS5ib2R5W2tleV0gPSAnKioqKioqKionO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChlLnBhcmFtcykge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhlLnBhcmFtcykpIHtcbiAgICAgICAgICBpZiAoa2V5ID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgICAgICBlLnBhcmFtc1trZXldID0gJyoqKioqKioqJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvZyhsZXZlbCwgYXJncykge1xuICAgIC8vIG1ha2UgdGhlIHBhc3NlZCBpbiBhcmd1bWVudHMgb2JqZWN0IGFuIGFycmF5IHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvclxuICAgIGFyZ3MgPSB0aGlzLm1hc2tTZW5zaXRpdmUoWy4uLmFyZ3NdKTtcbiAgICBhcmdzID0gW10uY29uY2F0KFxuICAgICAgbGV2ZWwsXG4gICAgICBhcmdzLm1hcChhcmcgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBhcmcoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuYWRhcHRlci5sb2cuYXBwbHkodGhpcy5hZGFwdGVyLCBhcmdzKTtcbiAgfVxuXG4gIGluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMubG9nKCdpbmZvJywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIGVycm9yKCkge1xuICAgIHJldHVybiB0aGlzLmxvZygnZXJyb3InLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgd2FybigpIHtcbiAgICByZXR1cm4gdGhpcy5sb2coJ3dhcm4nLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgdmVyYm9zZSgpIHtcbiAgICByZXR1cm4gdGhpcy5sb2coJ3ZlcmJvc2UnLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgZGVidWcoKSB7XG4gICAgcmV0dXJuIHRoaXMubG9nKCdkZWJ1ZycsIGFyZ3VtZW50cyk7XG4gIH1cblxuICBzaWxseSgpIHtcbiAgICByZXR1cm4gdGhpcy5sb2coJ3NpbGx5JywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIGxvZ1JlcXVlc3QoeyBtZXRob2QsIHVybCwgaGVhZGVycywgYm9keSB9KSB7XG4gICAgdGhpcy52ZXJib3NlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBzdHJpbmdpZmllZEJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5LCBudWxsLCAyKTtcbiAgICAgICAgcmV0dXJuIGBSRVFVRVNUIGZvciBbJHttZXRob2R9XSAke3VybH06ICR7c3RyaW5naWZpZWRCb2R5fWA7XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtZXRob2QsXG4gICAgICAgIHVybCxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgYm9keSxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgbG9nUmVzcG9uc2UoeyBtZXRob2QsIHVybCwgcmVzdWx0IH0pIHtcbiAgICB0aGlzLnZlcmJvc2UoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0cmluZ2lmaWVkUmVzcG9uc2UgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpO1xuICAgICAgICByZXR1cm4gYFJFU1BPTlNFIGZyb20gWyR7bWV0aG9kfV0gJHt1cmx9OiAke3N0cmluZ2lmaWVkUmVzcG9uc2V9YDtcbiAgICAgIH0sXG4gICAgICB7IHJlc3VsdDogcmVzdWx0IH1cbiAgICApO1xuICB9XG4gIC8vIGNoZWNrIHRoYXQgZGF0ZSBpbnB1dCBpcyB2YWxpZFxuICBzdGF0aWMgdmFsaWREYXRlVGltZShkYXRlKSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuXG4gICAgaWYgKCFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ1bmNhdGVMb2dNZXNzYWdlKHN0cmluZykge1xuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLmxlbmd0aCA+IExPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIKSB7XG4gICAgICBjb25zdCB0cnVuY2F0ZWQgPSBzdHJpbmcuc3Vic3RyaW5nKDAsIExPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIKSArIHRydW5jYXRpb25NYXJrZXI7XG4gICAgICByZXR1cm4gdHJ1bmNhdGVkO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgcGFyc2VPcHRpb25zKG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGZyb20gPVxuICAgICAgTG9nZ2VyQ29udHJvbGxlci52YWxpZERhdGVUaW1lKG9wdGlvbnMuZnJvbSkgfHxcbiAgICAgIG5ldyBEYXRlKERhdGUubm93KCkgLSA3ICogTUlMTElTRUNPTkRTX0lOX0FfREFZKTtcbiAgICBjb25zdCB1bnRpbCA9IExvZ2dlckNvbnRyb2xsZXIudmFsaWREYXRlVGltZShvcHRpb25zLnVudGlsKSB8fCBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHNpemUgPSBOdW1iZXIob3B0aW9ucy5zaXplKSB8fCAxMDtcbiAgICBjb25zdCBvcmRlciA9IG9wdGlvbnMub3JkZXIgfHwgTG9nT3JkZXIuREVTQ0VORElORztcbiAgICBjb25zdCBsZXZlbCA9IG9wdGlvbnMubGV2ZWwgfHwgTG9nTGV2ZWwuSU5GTztcblxuICAgIHJldHVybiB7XG4gICAgICBmcm9tLFxuICAgICAgdW50aWwsXG4gICAgICBzaXplLFxuICAgICAgb3JkZXIsXG4gICAgICBsZXZlbCxcbiAgICB9O1xuICB9XG5cbiAgLy8gUmV0dXJucyBhIHByb21pc2UgZm9yIGEge3Jlc3BvbnNlfSBvYmplY3QuXG4gIC8vIHF1ZXJ5IHBhcmFtczpcbiAgLy8gbGV2ZWwgKG9wdGlvbmFsKSBMZXZlbCBvZiBsb2dnaW5nIHlvdSB3YW50IHRvIHF1ZXJ5IGZvciAoaW5mbyB8fCBlcnJvcilcbiAgLy8gZnJvbSAob3B0aW9uYWwpIFN0YXJ0IHRpbWUgZm9yIHRoZSBzZWFyY2guIERlZmF1bHRzIHRvIDEgd2VlayBhZ28uXG4gIC8vIHVudGlsIChvcHRpb25hbCkgRW5kIHRpbWUgZm9yIHRoZSBzZWFyY2guIERlZmF1bHRzIHRvIGN1cnJlbnQgdGltZS5cbiAgLy8gb3JkZXIgKG9wdGlvbmFsKSBEaXJlY3Rpb24gb2YgcmVzdWx0cyByZXR1cm5lZCwgZWl0aGVyIOKAnGFzY+KAnSBvciDigJxkZXNj4oCdLiBEZWZhdWx0cyB0byDigJxkZXNj4oCdLlxuICAvLyBzaXplIChvcHRpb25hbCkgTnVtYmVyIG9mIHJvd3MgcmV0dXJuZWQgYnkgc2VhcmNoLiBEZWZhdWx0cyB0byAxMFxuICBnZXRMb2dzKG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghdGhpcy5hZGFwdGVyKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuUFVTSF9NSVNDT05GSUdVUkVELCAnTG9nZ2VyIGFkYXB0ZXIgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuYWRhcHRlci5xdWVyeSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5QVVNIX01JU0NPTkZJR1VSRUQsXG4gICAgICAgICdRdWVyeWluZyBsb2dzIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGlzIGFkYXB0ZXInXG4gICAgICApO1xuICAgIH1cbiAgICBvcHRpb25zID0gTG9nZ2VyQ29udHJvbGxlci5wYXJzZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5xdWVyeShvcHRpb25zKTtcbiAgfVxuXG4gIGV4cGVjdGVkQWRhcHRlclR5cGUoKSB7XG4gICAgcmV0dXJuIExvZ2dlckFkYXB0ZXI7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2VyQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsb0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUFpRSxTQUFBRSx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUVqRSxNQUFNRyxxQkFBcUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJO0FBQ2pELE1BQU1DLDBCQUEwQixHQUFHLElBQUk7QUFDdkMsTUFBTUMsZ0JBQWdCLEdBQUcsaUJBQWlCO0FBRW5DLE1BQU1DLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUc7RUFDdEJFLElBQUksRUFBRSxNQUFNO0VBQ1pDLEtBQUssRUFBRTtBQUNULENBQUM7QUFFTSxNQUFNQyxRQUFRLEdBQUFILE9BQUEsQ0FBQUcsUUFBQSxHQUFHO0VBQ3RCQyxVQUFVLEVBQUUsTUFBTTtFQUNsQkMsU0FBUyxFQUFFO0FBQ2IsQ0FBQztBQUVNLE1B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
|
|
221
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsInJlcXVpcmUiLCJfQWRhcHRhYmxlQ29udHJvbGxlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTG9nZ2VyQWRhcHRlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIk1JTExJU0VDT05EU19JTl9BX0RBWSIsIkxPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIIiwidHJ1bmNhdGlvbk1hcmtlciIsIkxvZ0xldmVsIiwiZXhwb3J0cyIsIklORk8iLCJFUlJPUiIsIkxvZ09yZGVyIiwiREVTQ0VORElORyIsIkFTQ0VORElORyIsImxvZ0xldmVscyIsIkxvZ2dlckNvbnRyb2xsZXIiLCJBZGFwdGFibGVDb250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJhZGFwdGVyIiwiYXBwSWQiLCJvcHRpb25zIiwibG9nTGV2ZWwiLCJsZXZlbCIsInZlcmJvc2UiLCJpbmRleCIsImluZGV4T2YiLCJmb3JFYWNoIiwibGV2ZWxJbmRleCIsIm1hc2tTZW5zaXRpdmVVcmwiLCJwYXRoIiwidXJsU3RyaW5nIiwidXJsT2JqIiwiVVJMIiwicXVlcnkiLCJzZWFyY2hQYXJhbXMiLCJzYW5pdGl6ZWRRdWVyeSIsImtleSIsInZhbHVlIiwic2xpY2UiLCJwYXRobmFtZSIsIm1hc2tTZW5zaXRpdmUiLCJhcmdBcnJheSIsIm1hcCIsInJlcGxhY2UiLCJ1cmwiLCJBcnJheSIsImlzQXJyYXkiLCJpdGVtIiwiYm9keSIsIk9iamVjdCIsImtleXMiLCJwYXJhbXMiLCJsb2ciLCJhcmdzIiwiY29uY2F0IiwiYXJnIiwiYXBwbHkiLCJpbmZvIiwiYXJndW1lbnRzIiwiZXJyb3IiLCJ3YXJuIiwiZGVidWciLCJzaWxseSIsImxvZ1JlcXVlc3QiLCJtZXRob2QiLCJoZWFkZXJzIiwic3RyaW5naWZpZWRCb2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImxvZ1Jlc3BvbnNlIiwicmVzdWx0Iiwic3RyaW5naWZpZWRSZXNwb25zZSIsInZhbGlkRGF0ZVRpbWUiLCJkYXRlIiwiRGF0ZSIsImlzTmFOIiwiZ2V0VGltZSIsInRydW5jYXRlTG9nTWVzc2FnZSIsInN0cmluZyIsImxlbmd0aCIsInRydW5jYXRlZCIsInN1YnN0cmluZyIsInBhcnNlT3B0aW9ucyIsImZyb20iLCJub3ciLCJ1bnRpbCIsInNpemUiLCJOdW1iZXIiLCJvcmRlciIsImdldExvZ3MiLCJQYXJzZSIsIkVycm9yIiwiUFVTSF9NSVNDT05GSUdVUkVEIiwiZXhwZWN0ZWRBZGFwdGVyVHlwZSIsIkxvZ2dlckFkYXB0ZXIiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9Mb2dnZXJDb250cm9sbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlIH0gZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgQWRhcHRhYmxlQ29udHJvbGxlciBmcm9tICcuL0FkYXB0YWJsZUNvbnRyb2xsZXInO1xuaW1wb3J0IHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL0xvZ2dlci9Mb2dnZXJBZGFwdGVyJztcblxuY29uc3QgTUlMTElTRUNPTkRTX0lOX0FfREFZID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbmNvbnN0IExPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIID0gMTAwMDtcbmNvbnN0IHRydW5jYXRpb25NYXJrZXIgPSAnLi4uICh0cnVuY2F0ZWQpJztcblxuZXhwb3J0IGNvbnN0IExvZ0xldmVsID0ge1xuICBJTkZPOiAnaW5mbycsXG4gIEVSUk9SOiAnZXJyb3InLFxufTtcblxuZXhwb3J0IGNvbnN0IExvZ09yZGVyID0ge1xuICBERVNDRU5ESU5HOiAnZGVzYycsXG4gIEFTQ0VORElORzogJ2FzYycsXG59O1xuXG5leHBvcnQgY29uc3QgbG9nTGV2ZWxzID0gWydlcnJvcicsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnLCAndmVyYm9zZScsICdzaWxseScsICdzaWxlbnQnXTtcblxuZXhwb3J0IGNsYXNzIExvZ2dlckNvbnRyb2xsZXIgZXh0ZW5kcyBBZGFwdGFibGVDb250cm9sbGVyIHtcbiAgY29uc3RydWN0b3IoYWRhcHRlciwgYXBwSWQsIG9wdGlvbnMgPSB7IGxvZ0xldmVsOiAnaW5mbycgfSkge1xuICAgIHN1cGVyKGFkYXB0ZXIsIGFwcElkLCBvcHRpb25zKTtcbiAgICBsZXQgbGV2ZWwgPSAnaW5mbyc7XG4gICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgbGV2ZWwgPSAndmVyYm9zZSc7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmxvZ0xldmVsKSB7XG4gICAgICBsZXZlbCA9IG9wdGlvbnMubG9nTGV2ZWw7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gbG9nTGV2ZWxzLmluZGV4T2YobGV2ZWwpOyAvLyBpbmZvIGJ5IGRlZmF1bHRcbiAgICBsb2dMZXZlbHMuZm9yRWFjaCgobGV2ZWwsIGxldmVsSW5kZXgpID0+IHtcbiAgICAgIGlmIChsZXZlbEluZGV4ID4gaW5kZXgpIHtcbiAgICAgICAgLy8gc2lsZW5jZSB0aGUgbGV2ZWxzIHRoYXQgYXJlID4gbWF4SW5kZXhcbiAgICAgICAgdGhpc1tsZXZlbF0gPSAoKSA9PiB7fTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG1hc2tTZW5zaXRpdmVVcmwocGF0aCkge1xuICAgIGNvbnN0IHVybFN0cmluZyA9ICdodHRwOi8vbG9jYWxob3N0JyArIHBhdGg7IC8vIHByZXBlbmQgZHVtbXkgc3RyaW5nIHRvIG1ha2UgYSByZWFsIFVSTFxuICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsU3RyaW5nKTtcbiAgICBjb25zdCBxdWVyeSA9IHVybE9iai5zZWFyY2hQYXJhbXM7XG4gICAgbGV0IHNhbml0aXplZFF1ZXJ5ID0gJz8nO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnkpIHtcbiAgICAgIGlmIChrZXkgIT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgLy8gbm9ybWFsIHZhbHVlXG4gICAgICAgIHNhbml0aXplZFF1ZXJ5ICs9IGtleSArICc9JyArIHZhbHVlICsgJyYnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gcGFzc3dvcmQgdmFsdWUsIHJlZGFjdCBpdFxuICAgICAgICBzYW5pdGl6ZWRRdWVyeSArPSBrZXkgKyAnPScgKyAnKioqKioqKionICsgJyYnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRyaW0gbGFzdCBjaGFyYWN0ZXIsID8gb3IgJlxuICAgIHNhbml0aXplZFF1ZXJ5ID0gc2FuaXRpemVkUXVlcnkuc2xpY2UoMCwgLTEpO1xuXG4gICAgLy8gcmV0dXJuIG9yaWdpbmFsIHBhdGggbmFtZSB3aXRoIHNhbml0aXplZCBwYXJhbXMgYXR0YWNoZWRcbiAgICByZXR1cm4gdXJsT2JqLnBhdGhuYW1lICsgc2FuaXRpemVkUXVlcnk7XG4gIH1cblxuICBtYXNrU2Vuc2l0aXZlKGFyZ0FycmF5KSB7XG4gICAgcmV0dXJuIGFyZ0FycmF5Lm1hcChlID0+IHtcbiAgICAgIGlmICghZSkge1xuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gZS5yZXBsYWNlKC8ocGFzc3dvcmRcIi4/Oi4/XCIpW15cIl0qXCIvZywgJyQxKioqKioqKipcIicpO1xuICAgICAgfVxuICAgICAgLy8gZWxzZSBpdCBpcyBhbiBvYmplY3QuLi5cblxuICAgICAgLy8gY2hlY2sgdGhlIHVybFxuICAgICAgaWYgKGUudXJsKSB7XG4gICAgICAgIC8vIGZvciBzdHJpbmdzXG4gICAgICAgIGlmICh0eXBlb2YgZS51cmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZS51cmwgPSB0aGlzLm1hc2tTZW5zaXRpdmVVcmwoZS51cmwpO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZS51cmwpKSB7XG4gICAgICAgICAgLy8gZm9yIHN0cmluZ3MgaW4gYXJyYXlcbiAgICAgICAgICBlLnVybCA9IGUudXJsLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFza1NlbnNpdGl2ZVVybChpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGUuYm9keSkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhlLmJvZHkpKSB7XG4gICAgICAgICAgaWYgKGtleSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICAgICAgZS5ib2R5W2tleV0gPSAnKioqKioqKionO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChlLnBhcmFtcykge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhlLnBhcmFtcykpIHtcbiAgICAgICAgICBpZiAoa2V5ID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgICAgICBlLnBhcmFtc1trZXldID0gJyoqKioqKioqJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvZyhsZXZlbCwgYXJncykge1xuICAgIC8vIG1ha2UgdGhlIHBhc3NlZCBpbiBhcmd1bWVudHMgb2JqZWN0IGFuIGFycmF5IHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvclxuICAgIGFyZ3MgPSB0aGlzLm1hc2tTZW5zaXRpdmUoWy4uLmFyZ3NdKTtcbiAgICBhcmdzID0gW10uY29uY2F0KFxuICAgICAgbGV2ZWwsXG4gICAgICBhcmdzLm1hcChhcmcgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiBhcmcoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuYWRhcHRlci5sb2cuYXBwbHkodGhpcy5hZGFwdGVyLCBhcmdzKTtcbiAgfVxuXG4gIGluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMubG9nKCdpbmZvJywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIGVycm9yKCkge1xuICAgIHJldHVybiB0aGlzLmxvZygnZXJyb3InLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgd2FybigpIHtcbiAgICByZXR1cm4gdGhpcy5sb2coJ3dhcm4nLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgdmVyYm9zZSgpIHtcbiAgICByZXR1cm4gdGhpcy5sb2coJ3ZlcmJvc2UnLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgZGVidWcoKSB7XG4gICAgcmV0dXJuIHRoaXMubG9nKCdkZWJ1ZycsIGFyZ3VtZW50cyk7XG4gIH1cblxuICBzaWxseSgpIHtcbiAgICByZXR1cm4gdGhpcy5sb2coJ3NpbGx5JywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIGxvZ1JlcXVlc3QoeyBtZXRob2QsIHVybCwgaGVhZGVycywgYm9keSB9KSB7XG4gICAgdGhpcy52ZXJib3NlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBzdHJpbmdpZmllZEJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5LCBudWxsLCAyKTtcbiAgICAgICAgcmV0dXJuIGBSRVFVRVNUIGZvciBbJHttZXRob2R9XSAke3VybH06ICR7c3RyaW5naWZpZWRCb2R5fWA7XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtZXRob2QsXG4gICAgICAgIHVybCxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgYm9keSxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgbG9nUmVzcG9uc2UoeyBtZXRob2QsIHVybCwgcmVzdWx0IH0pIHtcbiAgICB0aGlzLnZlcmJvc2UoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0cmluZ2lmaWVkUmVzcG9uc2UgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpO1xuICAgICAgICByZXR1cm4gYFJFU1BPTlNFIGZyb20gWyR7bWV0aG9kfV0gJHt1cmx9OiAke3N0cmluZ2lmaWVkUmVzcG9uc2V9YDtcbiAgICAgIH0sXG4gICAgICB7IHJlc3VsdDogcmVzdWx0IH1cbiAgICApO1xuICB9XG4gIC8vIGNoZWNrIHRoYXQgZGF0ZSBpbnB1dCBpcyB2YWxpZFxuICBzdGF0aWMgdmFsaWREYXRlVGltZShkYXRlKSB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuXG4gICAgaWYgKCFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ1bmNhdGVMb2dNZXNzYWdlKHN0cmluZykge1xuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLmxlbmd0aCA+IExPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIKSB7XG4gICAgICBjb25zdCB0cnVuY2F0ZWQgPSBzdHJpbmcuc3Vic3RyaW5nKDAsIExPR19TVFJJTkdfVFJVTkNBVEVfTEVOR1RIKSArIHRydW5jYXRpb25NYXJrZXI7XG4gICAgICByZXR1cm4gdHJ1bmNhdGVkO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgcGFyc2VPcHRpb25zKG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGZyb20gPVxuICAgICAgTG9nZ2VyQ29udHJvbGxlci52YWxpZERhdGVUaW1lKG9wdGlvbnMuZnJvbSkgfHxcbiAgICAgIG5ldyBEYXRlKERhdGUubm93KCkgLSA3ICogTUlMTElTRUNPTkRTX0lOX0FfREFZKTtcbiAgICBjb25zdCB1bnRpbCA9IExvZ2dlckNvbnRyb2xsZXIudmFsaWREYXRlVGltZShvcHRpb25zLnVudGlsKSB8fCBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHNpemUgPSBOdW1iZXIob3B0aW9ucy5zaXplKSB8fCAxMDtcbiAgICBjb25zdCBvcmRlciA9IG9wdGlvbnMub3JkZXIgfHwgTG9nT3JkZXIuREVTQ0VORElORztcbiAgICBjb25zdCBsZXZlbCA9IG9wdGlvbnMubGV2ZWwgfHwgTG9nTGV2ZWwuSU5GTztcblxuICAgIHJldHVybiB7XG4gICAgICBmcm9tLFxuICAgICAgdW50aWwsXG4gICAgICBzaXplLFxuICAgICAgb3JkZXIsXG4gICAgICBsZXZlbCxcbiAgICB9O1xuICB9XG5cbiAgLy8gUmV0dXJucyBhIHByb21pc2UgZm9yIGEge3Jlc3BvbnNlfSBvYmplY3QuXG4gIC8vIHF1ZXJ5IHBhcmFtczpcbiAgLy8gbGV2ZWwgKG9wdGlvbmFsKSBMZXZlbCBvZiBsb2dnaW5nIHlvdSB3YW50IHRvIHF1ZXJ5IGZvciAoaW5mbyB8fCBlcnJvcilcbiAgLy8gZnJvbSAob3B0aW9uYWwpIFN0YXJ0IHRpbWUgZm9yIHRoZSBzZWFyY2guIERlZmF1bHRzIHRvIDEgd2VlayBhZ28uXG4gIC8vIHVudGlsIChvcHRpb25hbCkgRW5kIHRpbWUgZm9yIHRoZSBzZWFyY2guIERlZmF1bHRzIHRvIGN1cnJlbnQgdGltZS5cbiAgLy8gb3JkZXIgKG9wdGlvbmFsKSBEaXJlY3Rpb24gb2YgcmVzdWx0cyByZXR1cm5lZCwgZWl0aGVyIOKAnGFzY+KAnSBvciDigJxkZXNj4oCdLiBEZWZhdWx0cyB0byDigJxkZXNj4oCdLlxuICAvLyBzaXplIChvcHRpb25hbCkgTnVtYmVyIG9mIHJvd3MgcmV0dXJuZWQgYnkgc2VhcmNoLiBEZWZhdWx0cyB0byAxMFxuICBnZXRMb2dzKG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghdGhpcy5hZGFwdGVyKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuUFVTSF9NSVNDT05GSUdVUkVELCAnTG9nZ2VyIGFkYXB0ZXIgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuYWRhcHRlci5xdWVyeSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5QVVNIX01JU0NPTkZJR1VSRUQsXG4gICAgICAgICdRdWVyeWluZyBsb2dzIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGlzIGFkYXB0ZXInXG4gICAgICApO1xuICAgIH1cbiAgICBvcHRpb25zID0gTG9nZ2VyQ29udHJvbGxlci5wYXJzZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5xdWVyeShvcHRpb25zKTtcbiAgfVxuXG4gIGV4cGVjdGVkQWRhcHRlclR5cGUoKSB7XG4gICAgcmV0dXJuIExvZ2dlckFkYXB0ZXI7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2VyQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsb0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUFpRSxTQUFBRSx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVqRSxNQUFNRyxxQkFBcUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJO0FBQ2pELE1BQU1DLDBCQUEwQixHQUFHLElBQUk7QUFDdkMsTUFBTUMsZ0JBQWdCLEdBQUcsaUJBQWlCO0FBRW5DLE1BQU1DLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUc7RUFDdEJFLElBQUksRUFBRSxNQUFNO0VBQ1pDLEtBQUssRUFBRTtBQUNULENBQUM7QUFFTSxNQUFNQyxRQUFRLEdBQUFILE9BQUEsQ0FBQUcsUUFBQSxHQUFHO0VBQ3RCQyxVQUFVLEVBQUUsTUFBTTtFQUNsQkMsU0FBUyxFQUFFO0FBQ2IsQ0FBQztBQUVNLE1BQU1DLFNB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
|
|
@@ -7,12 +7,12 @@ exports.default = exports.GraphQLConfigKey = exports.GraphQLConfigId = exports.G
|
|
|
7
7
|
var _requiredParameter = _interopRequireDefault(require("../../lib/requiredParameter"));
|
|
8
8
|
var _DatabaseController = _interopRequireDefault(require("./DatabaseController"));
|
|
9
9
|
var _CacheController = _interopRequireDefault(require("./CacheController"));
|
|
10
|
-
function _interopRequireDefault(
|
|
11
|
-
function _objectWithoutProperties(
|
|
12
|
-
function _objectWithoutPropertiesLoose(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
12
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
13
13
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
14
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
-
function _defineProperty(
|
|
15
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
16
16
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
17
17
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
18
|
const GraphQLConfigClassName = exports.GraphQLConfigClassName = '_GraphQLConfig';
|
|
@@ -296,4 +296,4 @@ const isValidSimpleObject = function (obj) {
|
|
|
296
296
|
return typeof obj === 'object' && !Array.isArray(obj) && obj !== null && obj instanceof Date !== true && obj instanceof Promise !== true;
|
|
297
297
|
};
|
|
298
298
|
var _default = exports.default = ParseGraphQLController;
|
|
299
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVxdWlyZWRQYXJhbWV0ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9EYXRhYmFzZUNvbnRyb2xsZXIiLCJfQ2FjaGVDb250cm9sbGVyIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJzb3VyY2UiLCJleGNsdWRlZCIsInRhcmdldCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwia2V5IiwiaSIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInNvdXJjZVN5bWJvbEtleXMiLCJsZW5ndGgiLCJpbmRleE9mIiwicHJvdG90eXBlIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjYWxsIiwic291cmNlS2V5cyIsImtleXMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIkdyYXBoUUxDb25maWdDbGFzc05hbWUiLCJleHBvcnRzIiwiR3JhcGhRTENvbmZpZ0lkIiwiR3JhcGhRTENvbmZpZ0tleSIsIlBhcnNlR3JhcGhRTENvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsInBhcmFtcyIsImRhdGFiYXNlQ29udHJvbGxlciIsInJlcXVpcmVkUGFyYW1ldGVyIiwiY2FjaGVDb250cm9sbGVyIiwiaXNNb3VudGVkIiwibW91bnRHcmFwaFFMIiwiY29uZmlnQ2FjaGVLZXkiLCJnZXRHcmFwaFFMQ29uZmlnIiwiX2NhY2hlZENvbmZpZyIsIl9nZXRDYWNoZWRHcmFwaFFMQ29uZmlnIiwicmVzdWx0cyIsImZpbmQiLCJvYmplY3RJZCIsImxpbWl0IiwiZ3JhcGhRTENvbmZpZyIsIl9wdXRDYWNoZWRHcmFwaFFMQ29uZmlnIiwidXBkYXRlR3JhcGhRTENvbmZpZyIsIl92YWxpZGF0ZUdyYXBoUUxDb25maWciLCJ1cGRhdGUiLCJyZWR1Y2UiLCJhY2MiLCJ1cHNlcnQiLCJyZXNwb25zZSIsInJlc3VsdCIsImdyYXBoUUwiLCJnZXQiLCJwdXQiLCJlcnJvck1lc3NhZ2VzIiwiaXNWYWxpZFNpbXBsZU9iamVjdCIsImVuYWJsZWRGb3JDbGFzc2VzIiwiZGlzYWJsZWRGb3JDbGFzc2VzIiwiY2xhc3NDb25maWdzIiwiaW52YWxpZEtleXMiLCJpc1ZhbGlkU3RyaW5nQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJjbGFzc0NvbmZpZyIsImVycm9yTWVzc2FnZSIsIl92YWxpZGF0ZUNsYXNzQ29uZmlnIiwiY2xhc3NOYW1lIiwiRXJyb3IiLCJqb2luIiwidHlwZSIsInF1ZXJ5IiwibXV0YXRpb24iLCJ0cmltIiwiaW5wdXRGaWVsZHMiLCJvdXRwdXRGaWVsZHMiLCJjb25zdHJhaW50RmllbGRzIiwic29ydEZpZWxkcyIsImV2ZXJ5Iiwic29ydEZpZWxkIiwiaW5kZXgiLCJmaWVsZCIsImFzYyIsImRlc2MiLCJjcmVhdGUiLCJpbmNsdWRlcyIsImZpbmRBbGlhcyIsImdldEFsaWFzIiwiZGVzdHJveSIsImNyZWF0ZUFsaWFzIiwidXBkYXRlQWxpYXMiLCJkZXN0cm95QWxpYXMiLCJhcnJheSIsInNvbWUiLCJzIiwiRGF0ZSIsIlByb21pc2UiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9QYXJzZUdyYXBoUUxDb250cm9sbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByZXF1aXJlZFBhcmFtZXRlciBmcm9tICcuLi8uLi9saWIvcmVxdWlyZWRQYXJhbWV0ZXInO1xuaW1wb3J0IERhdGFiYXNlQ29udHJvbGxlciBmcm9tICcuL0RhdGFiYXNlQ29udHJvbGxlcic7XG5pbXBvcnQgQ2FjaGVDb250cm9sbGVyIGZyb20gJy4vQ2FjaGVDb250cm9sbGVyJztcblxuY29uc3QgR3JhcGhRTENvbmZpZ0NsYXNzTmFtZSA9ICdfR3JhcGhRTENvbmZpZyc7XG5jb25zdCBHcmFwaFFMQ29uZmlnSWQgPSAnMSc7XG5jb25zdCBHcmFwaFFMQ29uZmlnS2V5ID0gJ2NvbmZpZyc7XG5cbmNsYXNzIFBhcnNlR3JhcGhRTENvbnRyb2xsZXIge1xuICBkYXRhYmFzZUNvbnRyb2xsZXI6IERhdGFiYXNlQ29udHJvbGxlcjtcbiAgY2FjaGVDb250cm9sbGVyOiBDYWNoZUNvbnRyb2xsZXI7XG4gIGlzTW91bnRlZDogYm9vbGVhbjtcbiAgY29uZmlnQ2FjaGVLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwYXJhbXM6IHtcbiAgICAgIGRhdGFiYXNlQ29udHJvbGxlcjogRGF0YWJhc2VDb250cm9sbGVyLFxuICAgICAgY2FjaGVDb250cm9sbGVyOiBDYWNoZUNvbnRyb2xsZXIsXG4gICAgfSA9IHt9XG4gICkge1xuICAgIHRoaXMuZGF0YWJhc2VDb250cm9sbGVyID1cbiAgICAgIHBhcmFtcy5kYXRhYmFzZUNvbnRyb2xsZXIgfHxcbiAgICAgIHJlcXVpcmVkUGFyYW1ldGVyKFxuICAgICAgICBgUGFyc2VHcmFwaFFMQ29udHJvbGxlciByZXF1aXJlcyBhIFwiZGF0YWJhc2VDb250cm9sbGVyXCIgdG8gYmUgaW5zdGFudGlhdGVkLmBcbiAgICAgICk7XG4gICAgdGhpcy5jYWNoZUNvbnRyb2xsZXIgPSBwYXJhbXMuY2FjaGVDb250cm9sbGVyO1xuICAgIHRoaXMuaXNNb3VudGVkID0gISFwYXJhbXMubW91bnRHcmFwaFFMO1xuICAgIHRoaXMuY29uZmlnQ2FjaGVLZXkgPSBHcmFwaFFMQ29uZmlnS2V5O1xuICB9XG5cbiAgYXN5bmMgZ2V0R3JhcGhRTENvbmZpZygpOiBQcm9taXNlPFBhcnNlR3JhcGhRTENvbmZpZz4ge1xuICAgIGlmICh0aGlzLmlzTW91bnRlZCkge1xuICAgICAgY29uc3QgX2NhY2hlZENvbmZpZyA9IGF3YWl0IHRoaXMuX2dldENhY2hlZEdyYXBoUUxDb25maWcoKTtcbiAgICAgIGlmIChfY2FjaGVkQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBfY2FjaGVkQ29uZmlnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmRhdGFiYXNlQ29udHJvbGxlci5maW5kKFxuICAgICAgR3JhcGhRTENvbmZpZ0NsYXNzTmFtZSxcbiAgICAgIHsgb2JqZWN0SWQ6IEdyYXBoUUxDb25maWdJZCB9LFxuICAgICAgeyBsaW1pdDogMSB9XG4gICAgKTtcblxuICAgIGxldCBncmFwaFFMQ29uZmlnO1xuICAgIGlmIChyZXN1bHRzLmxlbmd0aCAhPSAxKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBubyBjb25maWcgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJuIGVtcHR5IGNvbmZpZy5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JhcGhRTENvbmZpZyA9IHJlc3VsdHNbMF1bR3JhcGhRTENvbmZpZ0tleV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNNb3VudGVkKSB7XG4gICAgICB0aGlzLl9wdXRDYWNoZWRHcmFwaFFMQ29uZmlnKGdyYXBoUUxDb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiBncmFwaFFMQ29uZmlnO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlR3JhcGhRTENvbmZpZyhncmFwaFFMQ29uZmlnOiBQYXJzZUdyYXBoUUxDb25maWcpOiBQcm9taXNlPFBhcnNlR3JhcGhRTENvbmZpZz4ge1xuICAgIC8vIHRocm93cyBpZiBpbnZhbGlkXG4gICAgdGhpcy5fdmFsaWRhdGVHcmFwaFFMQ29uZmlnKFxuICAgICAgZ3JhcGhRTENvbmZpZyB8fCByZXF1aXJlZFBhcmFtZXRlcignWW91IG11c3QgcHJvdmlkZSBhIGdyYXBoUUxDb25maWchJylcbiAgICApO1xuXG4gICAgLy8gVHJhbnNmb3JtIGluIGRvdCBub3RhdGlvbiB0byBtYWtlIHN1cmUgaXQgd29ya3NcbiAgICBjb25zdCB1cGRhdGUgPSBPYmplY3Qua2V5cyhncmFwaFFMQ29uZmlnKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBbR3JhcGhRTENvbmZpZ0tleV06IHtcbiAgICAgICAgICAgIC4uLmFjY1tHcmFwaFFMQ29uZmlnS2V5XSxcbiAgICAgICAgICAgIFtrZXldOiBncmFwaFFMQ29uZmlnW2tleV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB7IFtHcmFwaFFMQ29uZmlnS2V5XToge30gfVxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLmRhdGFiYXNlQ29udHJvbGxlci51cGRhdGUoXG4gICAgICBHcmFwaFFMQ29uZmlnQ2xhc3NOYW1lLFxuICAgICAgeyBvYmplY3RJZDogR3JhcGhRTENvbmZpZ0lkIH0sXG4gICAgICB1cGRhdGUsXG4gICAgICB7IHVwc2VydDogdHJ1ZSB9XG4gICAgKTtcblxuICAgIGlmICh0aGlzLmlzTW91bnRlZCkge1xuICAgICAgdGhpcy5fcHV0Q2FjaGVkR3JhcGhRTENvbmZpZyhncmFwaFFMQ29uZmlnKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyByZXNwb25zZTogeyByZXN1bHQ6IHRydWUgfSB9O1xuICB9XG5cbiAgX2dldENhY2hlZEdyYXBoUUxDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDb250cm9sbGVyLmdyYXBoUUwuZ2V0KHRoaXMuY29uZmlnQ2FjaGVLZXkpO1xuICB9XG5cbiAgX3B1dENhY2hlZEdyYXBoUUxDb25maWcoZ3JhcGhRTENvbmZpZzogUGFyc2VHcmFwaFFMQ29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVDb250cm9sbGVyLmdyYXBoUUwucHV0KHRoaXMuY29uZmlnQ2FjaGVLZXksIGdyYXBoUUxDb25maWcsIDYwMDAwKTtcbiAgfVxuXG4gIF92YWxpZGF0ZUdyYXBoUUxDb25maWcoZ3JhcGhRTENvbmZpZzogP1BhcnNlR3JhcGhRTENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZXM6IHN0cmluZyA9IFtdO1xuICAgIGlmICghZ3JhcGhRTENvbmZpZykge1xuICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKCdjYW5ub3QgYmUgdW5kZWZpbmVkLCBudWxsIG9yIGVtcHR5Jyk7XG4gICAgfSBlbHNlIGlmICghaXNWYWxpZFNpbXBsZU9iamVjdChncmFwaFFMQ29uZmlnKSkge1xuICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKCdtdXN0IGJlIGEgdmFsaWQgb2JqZWN0Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgZW5hYmxlZEZvckNsYXNzZXMgPSBudWxsLFxuICAgICAgICBkaXNhYmxlZEZvckNsYXNzZXMgPSBudWxsLFxuICAgICAgICBjbGFzc0NvbmZpZ3MgPSBudWxsLFxuICAgICAgICAuLi5pbnZhbGlkS2V5c1xuICAgICAgfSA9IGdyYXBoUUxDb25maWc7XG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZXMucHVzaChgZW5jb3VudGVyZWQgaW52YWxpZCBrZXlzOiBbJHtPYmplY3Qua2V5cyhpbnZhbGlkS2V5cyl9XWApO1xuICAgICAgfVxuICAgICAgaWYgKGVuYWJsZWRGb3JDbGFzc2VzICE9PSBudWxsICYmICFpc1ZhbGlkU3RyaW5nQXJyYXkoZW5hYmxlZEZvckNsYXNzZXMpKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZXMucHVzaChgXCJlbmFibGVkRm9yQ2xhc3Nlc1wiIGlzIG5vdCBhIHZhbGlkIGFycmF5YCk7XG4gICAgICB9XG4gICAgICBpZiAoZGlzYWJsZWRGb3JDbGFzc2VzICE9PSBudWxsICYmICFpc1ZhbGlkU3RyaW5nQXJyYXkoZGlzYWJsZWRGb3JDbGFzc2VzKSkge1xuICAgICAgICBlcnJvck1lc3NhZ2VzLnB1c2goYFwiZGlzYWJsZWRGb3JDbGFzc2VzXCIgaXMgbm90IGEgdmFsaWQgYXJyYXlgKTtcbiAgICAgIH1cbiAgICAgIGlmIChjbGFzc0NvbmZpZ3MgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2xhc3NDb25maWdzKSkge1xuICAgICAgICAgIGNsYXNzQ29uZmlncy5mb3JFYWNoKGNsYXNzQ29uZmlnID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMuX3ZhbGlkYXRlQ2xhc3NDb25maWcoY2xhc3NDb25maWcpO1xuICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgICBlcnJvck1lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICAgICAgYGNsYXNzQ29uZmlnOiR7Y2xhc3NDb25maWcuY2xhc3NOYW1lfSBpcyBpbnZhbGlkIGJlY2F1c2UgJHtlcnJvck1lc3NhZ2V9YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaChgXCJjbGFzc0NvbmZpZ3NcIiBpcyBub3QgYSB2YWxpZCBhcnJheWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlcnJvck1lc3NhZ2VzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGdyYXBoUUxDb25maWc6ICR7ZXJyb3JNZXNzYWdlcy5qb2luKCc7ICcpfWApO1xuICAgIH1cbiAgfVxuXG4gIF92YWxpZGF0ZUNsYXNzQ29uZmlnKGNsYXNzQ29uZmlnOiA/UGFyc2VHcmFwaFFMQ2xhc3NDb25maWcpOiBzdHJpbmcgfCB2b2lkIHtcbiAgICBpZiAoIWlzVmFsaWRTaW1wbGVPYmplY3QoY2xhc3NDb25maWcpKSB7XG4gICAgICByZXR1cm4gJ2l0IG11c3QgYmUgYSB2YWxpZCBvYmplY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IGNsYXNzTmFtZSwgdHlwZSA9IG51bGwsIHF1ZXJ5ID0gbnVsbCwgbXV0YXRpb24gPSBudWxsLCAuLi5pbnZhbGlkS2V5cyB9ID0gY2xhc3NDb25maWc7XG4gICAgICBpZiAoT2JqZWN0LmtleXMoaW52YWxpZEtleXMpLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gYFwiaW52YWxpZEtleXNcIiBbJHtPYmplY3Qua2V5cyhpbnZhbGlkS2V5cyl9XSBzaG91bGQgbm90IGJlIHByZXNlbnRgO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgIT09ICdzdHJpbmcnIHx8ICFjbGFzc05hbWUudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAvLyBUT0RPIGNvbnNpZGVyIGNoZWNraW5nIGNsYXNzIGV4aXN0cyBpbiBzY2hlbWE/XG4gICAgICAgIHJldHVybiBgXCJjbGFzc05hbWVcIiBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nYDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghaXNWYWxpZFNpbXBsZU9iamVjdCh0eXBlKSkge1xuICAgICAgICAgIHJldHVybiBgXCJ0eXBlXCIgbXVzdCBiZSBhIHZhbGlkIG9iamVjdGA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGlucHV0RmllbGRzID0gbnVsbCxcbiAgICAgICAgICBvdXRwdXRGaWVsZHMgPSBudWxsLFxuICAgICAgICAgIGNvbnN0cmFpbnRGaWVsZHMgPSBudWxsLFxuICAgICAgICAgIHNvcnRGaWVsZHMgPSBudWxsLFxuICAgICAgICAgIC4uLmludmFsaWRLZXlzXG4gICAgICAgIH0gPSB0eXBlO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoaW52YWxpZEtleXMpLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiBgXCJ0eXBlXCIgY29udGFpbnMgaW52YWxpZCBrZXlzLCBbJHtPYmplY3Qua2V5cyhpbnZhbGlkS2V5cyl9XWA7XG4gICAgICAgIH0gZWxzZSBpZiAob3V0cHV0RmllbGRzICE9PSBudWxsICYmICFpc1ZhbGlkU3RyaW5nQXJyYXkob3V0cHV0RmllbGRzKSkge1xuICAgICAgICAgIHJldHVybiBgXCJvdXRwdXRGaWVsZHNcIiBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nIGFycmF5YDtcbiAgICAgICAgfSBlbHNlIGlmIChjb25zdHJhaW50RmllbGRzICE9PSBudWxsICYmICFpc1ZhbGlkU3RyaW5nQXJyYXkoY29uc3RyYWludEZpZWxkcykpIHtcbiAgICAgICAgICByZXR1cm4gYFwiY29uc3RyYWludEZpZWxkc1wiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgYXJyYXlgO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0RmllbGRzICE9PSBudWxsKSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykpIHtcbiAgICAgICAgICAgIGxldCBlcnJvck1lc3NhZ2U7XG4gICAgICAgICAgICBzb3J0RmllbGRzLmV2ZXJ5KChzb3J0RmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghaXNWYWxpZFNpbXBsZU9iamVjdChzb3J0RmllbGQpKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gYFwic29ydEZpZWxkXCIgYXQgaW5kZXggJHtpbmRleH0gaXMgbm90IGEgdmFsaWQgb2JqZWN0YDtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWVsZCwgYXNjLCBkZXNjLCAuLi5pbnZhbGlkS2V5cyB9ID0gc29ydEZpZWxkO1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgXCJzb3J0RmllbGRcIiBhdCBpbmRleCAke2luZGV4fSBjb250YWlucyBpbnZhbGlkIGtleXMsIFske09iamVjdC5rZXlzKFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkS2V5c1xuICAgICAgICAgICAgICAgICAgKX1dYDtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZCAhPT0gJ3N0cmluZycgfHwgZmllbGQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgXCJzb3J0RmllbGRcIiBhdCBpbmRleCAke2luZGV4fSBkaWQgbm90IHByb3ZpZGUgdGhlIFwiZmllbGRcIiBhcyBhIHN0cmluZ2A7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFzYyAhPT0gJ2Jvb2xlYW4nIHx8IHR5cGVvZiBkZXNjICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gYFwic29ydEZpZWxkXCIgYXQgaW5kZXggJHtpbmRleH0gZGlkIG5vdCBwcm92aWRlIFwiYXNjXCIgb3IgXCJkZXNjXCIgYXMgYm9vbGVhbnNgO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJzb3J0RmllbGRzXCIgbXVzdCBiZSBhIHZhbGlkIGFycmF5LmA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpbnB1dEZpZWxkcyAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChpc1ZhbGlkU2ltcGxlT2JqZWN0KGlucHV0RmllbGRzKSkge1xuICAgICAgICAgICAgY29uc3QgeyBjcmVhdGUgPSBudWxsLCB1cGRhdGUgPSBudWxsLCAuLi5pbnZhbGlkS2V5cyB9ID0gaW5wdXRGaWVsZHM7XG4gICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoaW52YWxpZEtleXMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gYFwiaW5wdXRGaWVsZHNcIiBjb250YWlucyBpbnZhbGlkIGtleXM6IFske09iamVjdC5rZXlzKGludmFsaWRLZXlzKX1dYDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmICh1cGRhdGUgIT09IG51bGwgJiYgIWlzVmFsaWRTdHJpbmdBcnJheSh1cGRhdGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGBcImlucHV0RmllbGRzLnVwZGF0ZVwiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgYXJyYXlgO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNyZWF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZFN0cmluZ0FycmF5KGNyZWF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBgXCJpbnB1dEZpZWxkcy5jcmVhdGVcIiBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nIGFycmF5YDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNsYXNzTmFtZSA9PT0gJ19Vc2VyJykge1xuICAgICAgICAgICAgICAgICAgaWYgKCFjcmVhdGUuaW5jbHVkZXMoJ3VzZXJuYW1lJykgfHwgIWNyZWF0ZS5pbmNsdWRlcygncGFzc3dvcmQnKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFwiaW5wdXRGaWVsZHMuY3JlYXRlXCIgbXVzdCBpbmNsdWRlIHJlcXVpcmVkIGZpZWxkcywgdXNlcm5hbWUgYW5kIHBhc3N3b3JkYDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBcImlucHV0RmllbGRzXCIgbXVzdCBiZSBhIHZhbGlkIG9iamVjdGA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGlzVmFsaWRTaW1wbGVPYmplY3QocXVlcnkpKSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgZmluZCA9IG51bGwsXG4gICAgICAgICAgICBnZXQgPSBudWxsLFxuICAgICAgICAgICAgZmluZEFsaWFzID0gbnVsbCxcbiAgICAgICAgICAgIGdldEFsaWFzID0gbnVsbCxcbiAgICAgICAgICAgIC4uLmludmFsaWRLZXlzXG4gICAgICAgICAgfSA9IHF1ZXJ5O1xuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwicXVlcnlcIiBjb250YWlucyBpbnZhbGlkIGtleXMsIFske09iamVjdC5rZXlzKGludmFsaWRLZXlzKX1dYDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpbmQgIT09IG51bGwgJiYgdHlwZW9mIGZpbmQgIT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGBcInF1ZXJ5LmZpbmRcIiBtdXN0IGJlIGEgYm9vbGVhbmA7XG4gICAgICAgICAgfSBlbHNlIGlmIChnZXQgIT09IG51bGwgJiYgdHlwZW9mIGdldCAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwicXVlcnkuZ2V0XCIgbXVzdCBiZSBhIGJvb2xlYW5gO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZmluZEFsaWFzICE9PSBudWxsICYmIHR5cGVvZiBmaW5kQWxpYXMgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwicXVlcnkuZmluZEFsaWFzXCIgbXVzdCBiZSBhIHN0cmluZ2A7XG4gICAgICAgICAgfSBlbHNlIGlmIChnZXRBbGlhcyAhPT0gbnVsbCAmJiB0eXBlb2YgZ2V0QWxpYXMgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwicXVlcnkuZ2V0QWxpYXNcIiBtdXN0IGJlIGEgc3RyaW5nYDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGBcInF1ZXJ5XCIgbXVzdCBiZSBhIHZhbGlkIG9iamVjdGA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtdXRhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNWYWxpZFNpbXBsZU9iamVjdChtdXRhdGlvbikpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBjcmVhdGUgPSBudWxsLFxuICAgICAgICAgICAgdXBkYXRlID0gbnVsbCxcbiAgICAgICAgICAgIGRlc3Ryb3kgPSBudWxsLFxuICAgICAgICAgICAgY3JlYXRlQWxpYXMgPSBudWxsLFxuICAgICAgICAgICAgdXBkYXRlQWxpYXMgPSBudWxsLFxuICAgICAgICAgICAgZGVzdHJveUFsaWFzID0gbnVsbCxcbiAgICAgICAgICAgIC4uLmludmFsaWRLZXlzXG4gICAgICAgICAgfSA9IG11dGF0aW9uO1xuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwibXV0YXRpb25cIiBjb250YWlucyBpbnZhbGlkIGtleXMsIFske09iamVjdC5rZXlzKGludmFsaWRLZXlzKX1dYDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNyZWF0ZSAhPT0gbnVsbCAmJiB0eXBlb2YgY3JlYXRlICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJtdXRhdGlvbi5jcmVhdGVcIiBtdXN0IGJlIGEgYm9vbGVhbmA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1cGRhdGUgIT09IG51bGwgJiYgdHlwZW9mIHVwZGF0ZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwibXV0YXRpb24udXBkYXRlXCIgbXVzdCBiZSBhIGJvb2xlYW5gO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGVzdHJveSAhPT0gbnVsbCAmJiB0eXBlb2YgZGVzdHJveSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwibXV0YXRpb24uZGVzdHJveVwiIG11c3QgYmUgYSBib29sZWFuYDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNyZWF0ZUFsaWFzICE9PSBudWxsICYmIHR5cGVvZiBjcmVhdGVBbGlhcyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJtdXRhdGlvbi5jcmVhdGVBbGlhc1wiIG11c3QgYmUgYSBzdHJpbmdgO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodXBkYXRlQWxpYXMgIT09IG51bGwgJiYgdHlwZW9mIHVwZGF0ZUFsaWFzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGBcIm11dGF0aW9uLnVwZGF0ZUFsaWFzXCIgbXVzdCBiZSBhIHN0cmluZ2A7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZXN0cm95QWxpYXMgIT09IG51bGwgJiYgdHlwZW9mIGRlc3Ryb3lBbGlhcyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJtdXRhdGlvbi5kZXN0cm95QWxpYXNcIiBtdXN0IGJlIGEgc3RyaW5nYDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGBcIm11dGF0aW9uXCIgbXVzdCBiZSBhIHZhbGlkIG9iamVjdGA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY29uc3QgaXNWYWxpZFN0cmluZ0FycmF5ID0gZnVuY3Rpb24gKGFycmF5KTogYm9vbGVhbiB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KGFycmF5KVxuICAgID8gIWFycmF5LnNvbWUocyA9PiB0eXBlb2YgcyAhPT0gJ3N0cmluZycgfHwgcy50cmltKCkubGVuZ3RoIDwgMSlcbiAgICA6IGZhbHNlO1xufTtcbi8qKlxuICogRW5zdXJlcyB0aGUgb2JqIGlzIGEgc2ltcGxlIEpTT04ve31cbiAqIG9iamVjdCwgaS5lLiBub3QgYW4gYXJyYXksIG51bGwsIGRhdGVcbiAqIGV0Yy5cbiAqL1xuY29uc3QgaXNWYWxpZFNpbXBsZU9iamVjdCA9IGZ1bmN0aW9uIChvYmopOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJlxuICAgICFBcnJheS5pc0FycmF5KG9iaikgJiZcbiAgICBvYmogIT09IG51bGwgJiZcbiAgICBvYmogaW5zdGFuY2VvZiBEYXRlICE9PSB0cnVlICYmXG4gICAgb2JqIGluc3RhbmNlb2YgUHJvbWlzZSAhPT0gdHJ1ZVxuICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBQYXJzZUdyYXBoUUxDb25maWcge1xuICBlbmFibGVkRm9yQ2xhc3Nlcz86IHN0cmluZ1tdO1xuICBkaXNhYmxlZEZvckNsYXNzZXM/OiBzdHJpbmdbXTtcbiAgY2xhc3NDb25maWdzPzogUGFyc2VHcmFwaFFMQ2xhc3NDb25maWdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJzZUdyYXBoUUxDbGFzc0NvbmZpZyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICAvKiBUaGUgYHR5cGVgIG9iamVjdCBjb250YWlucyBvcHRpb25zIGZvciBob3cgdGhlIGNsYXNzIHR5cGVzIGFyZSBnZW5lcmF0ZWQgKi9cbiAgdHlwZTogP3tcbiAgICAvKiBGaWVsZHMgdGhhdCBhcmUgYWxsb3dlZCB3aGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGFuIG9iamVjdC4gKi9cbiAgICBpbnB1dEZpZWxkczogP3tcbiAgICAgIC8qIExlYXZlIGJsYW5rIHRvIGFsbG93IGFsbCBhdmFpbGFibGUgZmllbGRzIGluIHRoZSBzY2hlbWEuICovXG4gICAgICBjcmVhdGU/OiBzdHJpbmdbXSxcbiAgICAgIHVwZGF0ZT86IHN0cmluZ1tdLFxuICAgIH0sXG4gICAgLyogRmllbGRzIG9uIHRoZSBlZGdlcyB0aGF0IGNhbiBiZSByZXNvbHZlZCBmcm9tIGEgcXVlcnksIGkuZS4gdGhlIFJlc3VsdCBUeXBlLiAqL1xuICAgIG91dHB1dEZpZWxkczogPyhzdHJpbmdbXSksXG4gICAgLyogRmllbGRzIGJ5IHdoaWNoIGEgcXVlcnkgY2FuIGJlIGZpbHRlcmVkLCBpLmUuIHRoZSBgd2hlcmVgIG9iamVjdC4gKi9cbiAgICBjb25zdHJhaW50RmllbGRzOiA/KHN0cmluZ1tdKSxcbiAgICAvKiBGaWVsZHMgYnkgd2hpY2ggYSBxdWVyeSBjYW4gYmUgc29ydGVkOyAqL1xuICAgIHNvcnRGaWVsZHM6ID8oe1xuICAgICAgZmllbGQ6IHN0cmluZyxcbiAgICAgIGFzYzogYm9vbGVhbixcbiAgICAgIGRlc2M6IGJvb2xlYW4sXG4gICAgfVtdKSxcbiAgfTtcbiAgLyogVGhlIGBxdWVyeWAgb2JqZWN0IGNvbnRhaW5zIG9wdGlvbnMgZm9yIHdoaWNoIGNsYXNzIHF1ZXJpZXMgYXJlIGdlbmVyYXRlZCAqL1xuICBxdWVyeTogP3tcbiAgICBnZXQ6ID9ib29sZWFuLFxuICAgIGZpbmQ6ID9ib29sZWFuLFxuICAgIGZpbmRBbGlhczogP1N0cmluZyxcbiAgICBnZXRBbGlhczogP1N0cmluZyxcbiAgfTtcbiAgLyogVGhlIGBtdXRhdGlvbmAgb2JqZWN0IGNvbnRhaW5zIG9wdGlvbnMgZm9yIHdoaWNoIGNsYXNzIG11dGF0aW9ucyBhcmUgZ2VuZXJhdGVkICovXG4gIG11dGF0aW9uOiA/e1xuICAgIGNyZWF0ZTogP2Jvb2xlYW4sXG4gICAgdXBkYXRlOiA/Ym9vbGVhbixcbiAgICAvLyBkZWxldGUgaXMgYSByZXNlcnZlZCBrZXkgd29yZCBpbiBqc1xuICAgIGRlc3Ryb3k6ID9ib29sZWFuLFxuICAgIGNyZWF0ZUFsaWFzOiA/U3RyaW5nLFxuICAgIHVwZGF0ZUFsaWFzOiA/U3RyaW5nLFxuICAgIGRlc3Ryb3lBbGlhczogP1N0cmluZyxcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGFyc2VHcmFwaFFMQ29udHJvbGxlcjtcbmV4cG9ydCB7IEdyYXBoUUxDb25maWdDbGFzc05hbWUsIEdyYXBoUUxDb25maWdJZCwgR3JhcGhRTENvbmZpZ0tleSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxrQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsbUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBZ0QsU0FBQUQsdUJBQUFJLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyx5QkFBQUMsTUFBQSxFQUFBQyxRQUFBLFFBQUFELE1BQUEseUJBQUFFLE1BQUEsR0FBQUMsNkJBQUEsQ0FBQUgsTUFBQSxFQUFBQyxRQUFBLE9BQUFHLEdBQUEsRUFBQUMsQ0FBQSxNQUFBQyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLGdCQUFBLEdBQUFGLE1BQUEsQ0FBQUMscUJBQUEsQ0FBQVAsTUFBQSxRQUFBSyxDQUFBLE1BQUFBLENBQUEsR0FBQUcsZ0JBQUEsQ0FBQUMsTUFBQSxFQUFBSixDQUFBLE1BQUFELEdBQUEsR0FBQUksZ0JBQUEsQ0FBQUgsQ0FBQSxPQUFBSixRQUFBLENBQUFTLE9BQUEsQ0FBQU4sR0FBQSx1QkFBQUUsTUFBQSxDQUFBSyxTQUFBLENBQUFDLG9C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
|
|
299
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVxdWlyZWRQYXJhbWV0ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9EYXRhYmFzZUNvbnRyb2xsZXIiLCJfQ2FjaGVDb250cm9sbGVyIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwidCIsIm8iLCJyIiwiaSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibiIsImxlbmd0aCIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNhbGwiLCJoYXNPd25Qcm9wZXJ0eSIsIm93bktleXMiLCJrZXlzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiR3JhcGhRTENvbmZpZ0NsYXNzTmFtZSIsImV4cG9ydHMiLCJHcmFwaFFMQ29uZmlnSWQiLCJHcmFwaFFMQ29uZmlnS2V5IiwiUGFyc2VHcmFwaFFMQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwicGFyYW1zIiwiZGF0YWJhc2VDb250cm9sbGVyIiwicmVxdWlyZWRQYXJhbWV0ZXIiLCJjYWNoZUNvbnRyb2xsZXIiLCJpc01vdW50ZWQiLCJtb3VudEdyYXBoUUwiLCJjb25maWdDYWNoZUtleSIsImdldEdyYXBoUUxDb25maWciLCJfY2FjaGVkQ29uZmlnIiwiX2dldENhY2hlZEdyYXBoUUxDb25maWciLCJyZXN1bHRzIiwiZmluZCIsIm9iamVjdElkIiwibGltaXQiLCJncmFwaFFMQ29uZmlnIiwiX3B1dENhY2hlZEdyYXBoUUxDb25maWciLCJ1cGRhdGVHcmFwaFFMQ29uZmlnIiwiX3ZhbGlkYXRlR3JhcGhRTENvbmZpZyIsInVwZGF0ZSIsInJlZHVjZSIsImFjYyIsImtleSIsInVwc2VydCIsInJlc3BvbnNlIiwicmVzdWx0IiwiZ3JhcGhRTCIsImdldCIsInB1dCIsImVycm9yTWVzc2FnZXMiLCJpc1ZhbGlkU2ltcGxlT2JqZWN0IiwiZW5hYmxlZEZvckNsYXNzZXMiLCJkaXNhYmxlZEZvckNsYXNzZXMiLCJjbGFzc0NvbmZpZ3MiLCJpbnZhbGlkS2V5cyIsImlzVmFsaWRTdHJpbmdBcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImNsYXNzQ29uZmlnIiwiZXJyb3JNZXNzYWdlIiwiX3ZhbGlkYXRlQ2xhc3NDb25maWciLCJjbGFzc05hbWUiLCJFcnJvciIsImpvaW4iLCJ0eXBlIiwicXVlcnkiLCJtdXRhdGlvbiIsInRyaW0iLCJpbnB1dEZpZWxkcyIsIm91dHB1dEZpZWxkcyIsImNvbnN0cmFpbnRGaWVsZHMiLCJzb3J0RmllbGRzIiwiZXZlcnkiLCJzb3J0RmllbGQiLCJpbmRleCIsImZpZWxkIiwiYXNjIiwiZGVzYyIsImNyZWF0ZSIsImluY2x1ZGVzIiwiZmluZEFsaWFzIiwiZ2V0QWxpYXMiLCJkZXN0cm95IiwiY3JlYXRlQWxpYXMiLCJ1cGRhdGVBbGlhcyIsImRlc3Ryb3lBbGlhcyIsImFycmF5Iiwic29tZSIsInMiLCJvYmoiLCJEYXRlIiwiUHJvbWlzZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbnRyb2xsZXJzL1BhcnNlR3JhcGhRTENvbnRyb2xsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlcXVpcmVkUGFyYW1ldGVyIGZyb20gJy4uLy4uL2xpYi9yZXF1aXJlZFBhcmFtZXRlcic7XG5pbXBvcnQgRGF0YWJhc2VDb250cm9sbGVyIGZyb20gJy4vRGF0YWJhc2VDb250cm9sbGVyJztcbmltcG9ydCBDYWNoZUNvbnRyb2xsZXIgZnJvbSAnLi9DYWNoZUNvbnRyb2xsZXInO1xuXG5jb25zdCBHcmFwaFFMQ29uZmlnQ2xhc3NOYW1lID0gJ19HcmFwaFFMQ29uZmlnJztcbmNvbnN0IEdyYXBoUUxDb25maWdJZCA9ICcxJztcbmNvbnN0IEdyYXBoUUxDb25maWdLZXkgPSAnY29uZmlnJztcblxuY2xhc3MgUGFyc2VHcmFwaFFMQ29udHJvbGxlciB7XG4gIGRhdGFiYXNlQ29udHJvbGxlcjogRGF0YWJhc2VDb250cm9sbGVyO1xuICBjYWNoZUNvbnRyb2xsZXI6IENhY2hlQ29udHJvbGxlcjtcbiAgaXNNb3VudGVkOiBib29sZWFuO1xuICBjb25maWdDYWNoZUtleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhcmFtczoge1xuICAgICAgZGF0YWJhc2VDb250cm9sbGVyOiBEYXRhYmFzZUNvbnRyb2xsZXIsXG4gICAgICBjYWNoZUNvbnRyb2xsZXI6IENhY2hlQ29udHJvbGxlcixcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgdGhpcy5kYXRhYmFzZUNvbnRyb2xsZXIgPVxuICAgICAgcGFyYW1zLmRhdGFiYXNlQ29udHJvbGxlciB8fFxuICAgICAgcmVxdWlyZWRQYXJhbWV0ZXIoXG4gICAgICAgIGBQYXJzZUdyYXBoUUxDb250cm9sbGVyIHJlcXVpcmVzIGEgXCJkYXRhYmFzZUNvbnRyb2xsZXJcIiB0byBiZSBpbnN0YW50aWF0ZWQuYFxuICAgICAgKTtcbiAgICB0aGlzLmNhY2hlQ29udHJvbGxlciA9IHBhcmFtcy5jYWNoZUNvbnRyb2xsZXI7XG4gICAgdGhpcy5pc01vdW50ZWQgPSAhIXBhcmFtcy5tb3VudEdyYXBoUUw7XG4gICAgdGhpcy5jb25maWdDYWNoZUtleSA9IEdyYXBoUUxDb25maWdLZXk7XG4gIH1cblxuICBhc3luYyBnZXRHcmFwaFFMQ29uZmlnKCk6IFByb21pc2U8UGFyc2VHcmFwaFFMQ29uZmlnPiB7XG4gICAgaWYgKHRoaXMuaXNNb3VudGVkKSB7XG4gICAgICBjb25zdCBfY2FjaGVkQ29uZmlnID0gYXdhaXQgdGhpcy5fZ2V0Q2FjaGVkR3JhcGhRTENvbmZpZygpO1xuICAgICAgaWYgKF9jYWNoZWRDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIF9jYWNoZWRDb25maWc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuZGF0YWJhc2VDb250cm9sbGVyLmZpbmQoXG4gICAgICBHcmFwaFFMQ29uZmlnQ2xhc3NOYW1lLFxuICAgICAgeyBvYmplY3RJZDogR3JhcGhRTENvbmZpZ0lkIH0sXG4gICAgICB7IGxpbWl0OiAxIH1cbiAgICApO1xuXG4gICAgbGV0IGdyYXBoUUxDb25maWc7XG4gICAgaWYgKHJlc3VsdHMubGVuZ3RoICE9IDEpIHtcbiAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGNvbmZpZyBpbiB0aGUgZGF0YWJhc2UgLSByZXR1cm4gZW1wdHkgY29uZmlnLlxuICAgICAgcmV0dXJuIHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICBncmFwaFFMQ29uZmlnID0gcmVzdWx0c1swXVtHcmFwaFFMQ29uZmlnS2V5XTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc01vdW50ZWQpIHtcbiAgICAgIHRoaXMuX3B1dENhY2hlZEdyYXBoUUxDb25maWcoZ3JhcGhRTENvbmZpZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyYXBoUUxDb25maWc7XG4gIH1cblxuICBhc3luYyB1cGRhdGVHcmFwaFFMQ29uZmlnKGdyYXBoUUxDb25maWc6IFBhcnNlR3JhcGhRTENvbmZpZyk6IFByb21pc2U8UGFyc2VHcmFwaFFMQ29uZmlnPiB7XG4gICAgLy8gdGhyb3dzIGlmIGludmFsaWRcbiAgICB0aGlzLl92YWxpZGF0ZUdyYXBoUUxDb25maWcoXG4gICAgICBncmFwaFFMQ29uZmlnIHx8IHJlcXVpcmVkUGFyYW1ldGVyKCdZb3UgbXVzdCBwcm92aWRlIGEgZ3JhcGhRTENvbmZpZyEnKVxuICAgICk7XG5cbiAgICAvLyBUcmFuc2Zvcm0gaW4gZG90IG5vdGF0aW9uIHRvIG1ha2Ugc3VyZSBpdCB3b3Jrc1xuICAgIGNvbnN0IHVwZGF0ZSA9IE9iamVjdC5rZXlzKGdyYXBoUUxDb25maWcpLnJlZHVjZShcbiAgICAgIChhY2MsIGtleSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtHcmFwaFFMQ29uZmlnS2V5XToge1xuICAgICAgICAgICAgLi4uYWNjW0dyYXBoUUxDb25maWdLZXldLFxuICAgICAgICAgICAgW2tleV06IGdyYXBoUUxDb25maWdba2V5XSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIHsgW0dyYXBoUUxDb25maWdLZXldOiB7fSB9XG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuZGF0YWJhc2VDb250cm9sbGVyLnVwZGF0ZShcbiAgICAgIEdyYXBoUUxDb25maWdDbGFzc05hbWUsXG4gICAgICB7IG9iamVjdElkOiBHcmFwaFFMQ29uZmlnSWQgfSxcbiAgICAgIHVwZGF0ZSxcbiAgICAgIHsgdXBzZXJ0OiB0cnVlIH1cbiAgICApO1xuXG4gICAgaWYgKHRoaXMuaXNNb3VudGVkKSB7XG4gICAgICB0aGlzLl9wdXRDYWNoZWRHcmFwaFFMQ29uZmlnKGdyYXBoUUxDb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiB7IHJlc3BvbnNlOiB7IHJlc3VsdDogdHJ1ZSB9IH07XG4gIH1cblxuICBfZ2V0Q2FjaGVkR3JhcGhRTENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNvbnRyb2xsZXIuZ3JhcGhRTC5nZXQodGhpcy5jb25maWdDYWNoZUtleSk7XG4gIH1cblxuICBfcHV0Q2FjaGVkR3JhcGhRTENvbmZpZyhncmFwaFFMQ29uZmlnOiBQYXJzZUdyYXBoUUxDb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUNvbnRyb2xsZXIuZ3JhcGhRTC5wdXQodGhpcy5jb25maWdDYWNoZUtleSwgZ3JhcGhRTENvbmZpZywgNjAwMDApO1xuICB9XG5cbiAgX3ZhbGlkYXRlR3JhcGhRTENvbmZpZyhncmFwaFFMQ29uZmlnOiA/UGFyc2VHcmFwaFFMQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JNZXNzYWdlczogc3RyaW5nID0gW107XG4gICAgaWYgKCFncmFwaFFMQ29uZmlnKSB7XG4gICAgICBlcnJvck1lc3NhZ2VzLnB1c2goJ2Nhbm5vdCBiZSB1bmRlZmluZWQsIG51bGwgb3IgZW1wdHknKTtcbiAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkU2ltcGxlT2JqZWN0KGdyYXBoUUxDb25maWcpKSB7XG4gICAgICBlcnJvck1lc3NhZ2VzLnB1c2goJ211c3QgYmUgYSB2YWxpZCBvYmplY3QnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qge1xuICAgICAgICBlbmFibGVkRm9yQ2xhc3NlcyA9IG51bGwsXG4gICAgICAgIGRpc2FibGVkRm9yQ2xhc3NlcyA9IG51bGwsXG4gICAgICAgIGNsYXNzQ29uZmlncyA9IG51bGwsXG4gICAgICAgIC4uLmludmFsaWRLZXlzXG4gICAgICB9ID0gZ3JhcGhRTENvbmZpZztcblxuICAgICAgaWYgKE9iamVjdC5rZXlzKGludmFsaWRLZXlzKS5sZW5ndGgpIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKGBlbmNvdW50ZXJlZCBpbnZhbGlkIGtleXM6IFske09iamVjdC5rZXlzKGludmFsaWRLZXlzKX1dYCk7XG4gICAgICB9XG4gICAgICBpZiAoZW5hYmxlZEZvckNsYXNzZXMgIT09IG51bGwgJiYgIWlzVmFsaWRTdHJpbmdBcnJheShlbmFibGVkRm9yQ2xhc3NlcykpIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKGBcImVuYWJsZWRGb3JDbGFzc2VzXCIgaXMgbm90IGEgdmFsaWQgYXJyYXlgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkaXNhYmxlZEZvckNsYXNzZXMgIT09IG51bGwgJiYgIWlzVmFsaWRTdHJpbmdBcnJheShkaXNhYmxlZEZvckNsYXNzZXMpKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZXMucHVzaChgXCJkaXNhYmxlZEZvckNsYXNzZXNcIiBpcyBub3QgYSB2YWxpZCBhcnJheWApO1xuICAgICAgfVxuICAgICAgaWYgKGNsYXNzQ29uZmlncyAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjbGFzc0NvbmZpZ3MpKSB7XG4gICAgICAgICAgY2xhc3NDb25maWdzLmZvckVhY2goY2xhc3NDb25maWcgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gdGhpcy5fdmFsaWRhdGVDbGFzc0NvbmZpZyhjbGFzc0NvbmZpZyk7XG4gICAgICAgICAgICBpZiAoZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgICBgY2xhc3NDb25maWc6JHtjbGFzc0NvbmZpZy5jbGFzc05hbWV9IGlzIGludmFsaWQgYmVjYXVzZSAke2Vycm9yTWVzc2FnZX1gXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKGBcImNsYXNzQ29uZmlnc1wiIGlzIG5vdCBhIHZhbGlkIGFycmF5YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVycm9yTWVzc2FnZXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3JhcGhRTENvbmZpZzogJHtlcnJvck1lc3NhZ2VzLmpvaW4oJzsgJyl9YCk7XG4gICAgfVxuICB9XG5cbiAgX3ZhbGlkYXRlQ2xhc3NDb25maWcoY2xhc3NDb25maWc6ID9QYXJzZUdyYXBoUUxDbGFzc0NvbmZpZyk6IHN0cmluZyB8IHZvaWQge1xuICAgIGlmICghaXNWYWxpZFNpbXBsZU9iamVjdChjbGFzc0NvbmZpZykpIHtcbiAgICAgIHJldHVybiAnaXQgbXVzdCBiZSBhIHZhbGlkIG9iamVjdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgY2xhc3NOYW1lLCB0eXBlID0gbnVsbCwgcXVlcnkgPSBudWxsLCBtdXRhdGlvbiA9IG51bGwsIC4uLmludmFsaWRLZXlzIH0gPSBjbGFzc0NvbmZpZztcbiAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBgXCJpbnZhbGlkS2V5c1wiIFske09iamVjdC5rZXlzKGludmFsaWRLZXlzKX1dIHNob3VsZCBub3QgYmUgcHJlc2VudGA7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGNsYXNzTmFtZSAhPT0gJ3N0cmluZycgfHwgIWNsYXNzTmFtZS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgIC8vIFRPRE8gY29uc2lkZXIgY2hlY2tpbmcgY2xhc3MgZXhpc3RzIGluIHNjaGVtYT9cbiAgICAgICAgcmV0dXJuIGBcImNsYXNzTmFtZVwiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmdgO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKCFpc1ZhbGlkU2ltcGxlT2JqZWN0KHR5cGUpKSB7XG4gICAgICAgICAgcmV0dXJuIGBcInR5cGVcIiBtdXN0IGJlIGEgdmFsaWQgb2JqZWN0YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaW5wdXRGaWVsZHMgPSBudWxsLFxuICAgICAgICAgIG91dHB1dEZpZWxkcyA9IG51bGwsXG4gICAgICAgICAgY29uc3RyYWludEZpZWxkcyA9IG51bGwsXG4gICAgICAgICAgc29ydEZpZWxkcyA9IG51bGwsXG4gICAgICAgICAgLi4uaW52YWxpZEtleXNcbiAgICAgICAgfSA9IHR5cGU7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIGBcInR5cGVcIiBjb250YWlucyBpbnZhbGlkIGtleXMsIFske09iamVjdC5rZXlzKGludmFsaWRLZXlzKX1dYDtcbiAgICAgICAgfSBlbHNlIGlmIChvdXRwdXRGaWVsZHMgIT09IG51bGwgJiYgIWlzVmFsaWRTdHJpbmdBcnJheShvdXRwdXRGaWVsZHMpKSB7XG4gICAgICAgICAgcmV0dXJuIGBcIm91dHB1dEZpZWxkc1wiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgYXJyYXlgO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnN0cmFpbnRGaWVsZHMgIT09IG51bGwgJiYgIWlzVmFsaWRTdHJpbmdBcnJheShjb25zdHJhaW50RmllbGRzKSkge1xuICAgICAgICAgIHJldHVybiBgXCJjb25zdHJhaW50RmllbGRzXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBhcnJheWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnRGaWVsZHMgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzb3J0RmllbGRzKSkge1xuICAgICAgICAgICAgbGV0IGVycm9yTWVzc2FnZTtcbiAgICAgICAgICAgIHNvcnRGaWVsZHMuZXZlcnkoKHNvcnRGaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkU2ltcGxlT2JqZWN0KHNvcnRGaWVsZCkpIHtcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgXCJzb3J0RmllbGRcIiBhdCBpbmRleCAke2luZGV4fSBpcyBub3QgYSB2YWxpZCBvYmplY3RgO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpZWxkLCBhc2MsIGRlc2MsIC4uLmludmFsaWRLZXlzIH0gPSBzb3J0RmllbGQ7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGludmFsaWRLZXlzKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGBcInNvcnRGaWVsZFwiIGF0IGluZGV4ICR7aW5kZXh9IGNvbnRhaW5zIGludmFsaWQga2V5cywgWyR7T2JqZWN0LmtleXMoXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWRLZXlzXG4gICAgICAgICAgICAgICAgICApfV1gO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkICE9PSAnc3RyaW5nJyB8fCBmaWVsZC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGBcInNvcnRGaWVsZFwiIGF0IGluZGV4ICR7aW5kZXh9IGRpZCBub3QgcHJvdmlkZSB0aGUgXCJmaWVsZFwiIGFzIGEgc3RyaW5nYDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYXNjICE9PSAnYm9vbGVhbicgfHwgdHlwZW9mIGRlc2MgIT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBgXCJzb3J0RmllbGRcIiBhdCBpbmRleCAke2luZGV4fSBkaWQgbm90IHByb3ZpZGUgXCJhc2NcIiBvciBcImRlc2NcIiBhcyBib29sZWFuc2A7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChlcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBcInNvcnRGaWVsZHNcIiBtdXN0IGJlIGEgdmFsaWQgYXJyYXkuYDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlucHV0RmllbGRzICE9PSBudWxsKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRTaW1wbGVPYmplY3QoaW5wdXRGaWVsZHMpKSB7XG4gICAgICAgICAgICBjb25zdCB7IGNyZWF0ZSA9IG51bGwsIHVwZGF0ZSA9IG51bGwsIC4uLmludmFsaWRLZXlzIH0gPSBpbnB1dEZpZWxkcztcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhpbnZhbGlkS2V5cykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBgXCJpbnB1dEZpZWxkc1wiIGNvbnRhaW5zIGludmFsaWQga2V5czogWyR7T2JqZWN0LmtleXMoaW52YWxpZEtleXMpfV1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKHVwZGF0ZSAhPT0gbnVsbCAmJiAhaXNWYWxpZFN0cmluZ0FycmF5KHVwZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYFwiaW5wdXRGaWVsZHMudXBkYXRlXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBhcnJheWA7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3JlYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkU3RyaW5nQXJyYXkoY3JlYXRlKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGBcImlucHV0RmllbGRzLmNyZWF0ZVwiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgYXJyYXlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2xhc3NOYW1lID09PSAnX1VzZXInKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWNyZWF0ZS5pbmNsdWRlcygndXNlcm5hbWUnKSB8fCAhY3JlYXRlLmluY2x1ZGVzKCdwYXNzd29yZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgXCJpbnB1dEZpZWxkcy5jcmVhdGVcIiBtdXN0IGluY2x1ZGUgcmVxdWlyZWQgZmllbGRzLCB1c2VybmFtZSBhbmQgcGFzc3dvcmRgO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYFwiaW5wdXRGaWVsZHNcIiBtdXN0IGJlIGEgdmFsaWQgb2JqZWN0YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChxdWVyeSAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNWYWxpZFNpbXBsZU9iamVjdChxdWVyeSkpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBmaW5kID0gbnVsbCxcbiAgICAgICAgICAgIGdldCA9IG51bGwsXG4gICAgICAgICAgICBmaW5kQWxpYXMgPSBudWxsLFxuICAgICAgICAgICAgZ2V0QWxpYXMgPSBudWxsLFxuICAgICAgICAgICAgLi4uaW52YWxpZEtleXNcbiAgICAgICAgICB9ID0gcXVlcnk7XG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGludmFsaWRLZXlzKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJxdWVyeVwiIGNvbnRhaW5zIGludmFsaWQga2V5cywgWyR7T2JqZWN0LmtleXMoaW52YWxpZEtleXMpfV1gO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZmluZCAhPT0gbnVsbCAmJiB0eXBlb2YgZmluZCAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwicXVlcnkuZmluZFwiIG11c3QgYmUgYSBib29sZWFuYDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGdldCAhPT0gbnVsbCAmJiB0eXBlb2YgZ2V0ICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJxdWVyeS5nZXRcIiBtdXN0IGJlIGEgYm9vbGVhbmA7XG4gICAgICAgICAgfSBlbHNlIGlmIChmaW5kQWxpYXMgIT09IG51bGwgJiYgdHlwZW9mIGZpbmRBbGlhcyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJxdWVyeS5maW5kQWxpYXNcIiBtdXN0IGJlIGEgc3RyaW5nYDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGdldEFsaWFzICE9PSBudWxsICYmIHR5cGVvZiBnZXRBbGlhcyAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJxdWVyeS5nZXRBbGlhc1wiIG11c3QgYmUgYSBzdHJpbmdgO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYFwicXVlcnlcIiBtdXN0IGJlIGEgdmFsaWQgb2JqZWN0YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG11dGF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChpc1ZhbGlkU2ltcGxlT2JqZWN0KG11dGF0aW9uKSkge1xuICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGNyZWF0ZSA9IG51bGwsXG4gICAgICAgICAgICB1cGRhdGUgPSBudWxsLFxuICAgICAgICAgICAgZGVzdHJveSA9IG51bGwsXG4gICAgICAgICAgICBjcmVhdGVBbGlhcyA9IG51bGwsXG4gICAgICAgICAgICB1cGRhdGVBbGlhcyA9IG51bGwsXG4gICAgICAgICAgICBkZXN0cm95QWxpYXMgPSBudWxsLFxuICAgICAgICAgICAgLi4uaW52YWxpZEtleXNcbiAgICAgICAgICB9ID0gbXV0YXRpb247XG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGludmFsaWRLZXlzKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJtdXRhdGlvblwiIGNvbnRhaW5zIGludmFsaWQga2V5cywgWyR7T2JqZWN0LmtleXMoaW52YWxpZEtleXMpfV1gO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY3JlYXRlICE9PSBudWxsICYmIHR5cGVvZiBjcmVhdGUgIT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGBcIm11dGF0aW9uLmNyZWF0ZVwiIG11c3QgYmUgYSBib29sZWFuYDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHVwZGF0ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdXBkYXRlICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJtdXRhdGlvbi51cGRhdGVcIiBtdXN0IGJlIGEgYm9vbGVhbmA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZXN0cm95ICE9PSBudWxsICYmIHR5cGVvZiBkZXN0cm95ICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiBgXCJtdXRhdGlvbi5kZXN0cm95XCIgbXVzdCBiZSBhIGJvb2xlYW5gO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY3JlYXRlQWxpYXMgIT09IG51bGwgJiYgdHlwZW9mIGNyZWF0ZUFsaWFzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGBcIm11dGF0aW9uLmNyZWF0ZUFsaWFzXCIgbXVzdCBiZSBhIHN0cmluZ2A7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1cGRhdGVBbGlhcyAhPT0gbnVsbCAmJiB0eXBlb2YgdXBkYXRlQWxpYXMgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gYFwibXV0YXRpb24udXBkYXRlQWxpYXNcIiBtdXN0IGJlIGEgc3RyaW5nYDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlc3Ryb3lBbGlhcyAhPT0gbnVsbCAmJiB0eXBlb2YgZGVzdHJveUFsaWFzICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGBcIm11dGF0aW9uLmRlc3Ryb3lBbGlhc1wiIG11c3QgYmUgYSBzdHJpbmdgO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYFwibXV0YXRpb25cIiBtdXN0IGJlIGEgdmFsaWQgb2JqZWN0YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBpc1ZhbGlkU3RyaW5nQXJyYXkgPSBmdW5jdGlvbiAoYXJyYXkpOiBib29sZWFuIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyYXkpXG4gICAgPyAhYXJyYXkuc29tZShzID0+IHR5cGVvZiBzICE9PSAnc3RyaW5nJyB8fCBzLnRyaW0oKS5sZW5ndGggPCAxKVxuICAgIDogZmFsc2U7XG59O1xuLyoqXG4gKiBFbnN1cmVzIHRoZSBvYmogaXMgYSBzaW1wbGUgSlNPTi97fVxuICogb2JqZWN0LCBpLmUuIG5vdCBhbiBhcnJheSwgbnVsbCwgZGF0ZVxuICogZXRjLlxuICovXG5jb25zdCBpc1ZhbGlkU2ltcGxlT2JqZWN0ID0gZnVuY3Rpb24gKG9iaik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmXG4gICAgIUFycmF5LmlzQXJyYXkob2JqKSAmJlxuICAgIG9iaiAhPT0gbnVsbCAmJlxuICAgIG9iaiBpbnN0YW5jZW9mIERhdGUgIT09IHRydWUgJiZcbiAgICBvYmogaW5zdGFuY2VvZiBQcm9taXNlICE9PSB0cnVlXG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlR3JhcGhRTENvbmZpZyB7XG4gIGVuYWJsZWRGb3JDbGFzc2VzPzogc3RyaW5nW107XG4gIGRpc2FibGVkRm9yQ2xhc3Nlcz86IHN0cmluZ1tdO1xuICBjbGFzc0NvbmZpZ3M/OiBQYXJzZUdyYXBoUUxDbGFzc0NvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlR3JhcGhRTENsYXNzQ29uZmlnIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIC8qIFRoZSBgdHlwZWAgb2JqZWN0IGNvbnRhaW5zIG9wdGlvbnMgZm9yIGhvdyB0aGUgY2xhc3MgdHlwZXMgYXJlIGdlbmVyYXRlZCAqL1xuICB0eXBlOiA/e1xuICAgIC8qIEZpZWxkcyB0aGF0IGFyZSBhbGxvd2VkIHdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYW4gb2JqZWN0LiAqL1xuICAgIGlucHV0RmllbGRzOiA/e1xuICAgICAgLyogTGVhdmUgYmxhbmsgdG8gYWxsb3cgYWxsIGF2YWlsYWJsZSBmaWVsZHMgaW4gdGhlIHNjaGVtYS4gKi9cbiAgICAgIGNyZWF0ZT86IHN0cmluZ1tdLFxuICAgICAgdXBkYXRlPzogc3RyaW5nW10sXG4gICAgfSxcbiAgICAvKiBGaWVsZHMgb24gdGhlIGVkZ2VzIHRoYXQgY2FuIGJlIHJlc29sdmVkIGZyb20gYSBxdWVyeSwgaS5lLiB0aGUgUmVzdWx0IFR5cGUuICovXG4gICAgb3V0cHV0RmllbGRzOiA/KHN0cmluZ1tdKSxcbiAgICAvKiBGaWVsZHMgYnkgd2hpY2ggYSBxdWVyeSBjYW4gYmUgZmlsdGVyZWQsIGkuZS4gdGhlIGB3aGVyZWAgb2JqZWN0LiAqL1xuICAgIGNvbnN0cmFpbnRGaWVsZHM6ID8oc3RyaW5nW10pLFxuICAgIC8qIEZpZWxkcyBieSB3aGljaCBhIHF1ZXJ5IGNhbiBiZSBzb3J0ZWQ7ICovXG4gICAgc29ydEZpZWxkczogPyh7XG4gICAgICBmaWVsZDogc3RyaW5nLFxuICAgICAgYXNjOiBib29sZWFuLFxuICAgICAgZGVzYzogYm9vbGVhbixcbiAgICB9W10pLFxuICB9O1xuICAvKiBUaGUgYHF1ZXJ5YCBvYmplY3QgY29udGFpbnMgb3B0aW9ucyBmb3Igd2hpY2ggY2xhc3MgcXVlcmllcyBhcmUgZ2VuZXJhdGVkICovXG4gIHF1ZXJ5OiA/e1xuICAgIGdldDogP2Jvb2xlYW4sXG4gICAgZmluZDogP2Jvb2xlYW4sXG4gICAgZmluZEFsaWFzOiA/U3RyaW5nLFxuICAgIGdldEFsaWFzOiA/U3RyaW5nLFxuICB9O1xuICAvKiBUaGUgYG11dGF0aW9uYCBvYmplY3QgY29udGFpbnMgb3B0aW9ucyBmb3Igd2hpY2ggY2xhc3MgbXV0YXRpb25zIGFyZSBnZW5lcmF0ZWQgKi9cbiAgbXV0YXRpb246ID97XG4gICAgY3JlYXRlOiA/Ym9vbGVhbixcbiAgICB1cGRhdGU6ID9ib29sZWFuLFxuICAgIC8vIGRlbGV0ZSBpcyBhIHJlc2VydmVkIGtleSB3b3JkIGluIGpzXG4gICAgZGVzdHJveTogP2Jvb2xlYW4sXG4gICAgY3JlYXRlQWxpYXM6ID9TdHJpbmcsXG4gICAgdXBkYXRlQWxpYXM6ID9TdHJpbmcsXG4gICAgZGVzdHJveUFsaWFzOiA/U3RyaW5nLFxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBQYXJzZUdyYXBoUUxDb250cm9sbGVyO1xuZXhwb3J0IHsgR3JhcGhRTENvbmZpZ0NsYXNzTmFtZSwgR3JhcGhRTENvbmZpZ0lkLCBHcmFwaFFMQ29uZmlnS2V5IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLGtCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxtQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFnRCxTQUFBRCx1QkFBQUksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFHLHlCQUFBSCxDQUFBLEVBQUFJLENBQUEsZ0JBQUFKLENBQUEsaUJBQUFLLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEdBQUFDLDZCQUFBLENBQUFSLENBQUEsRUFBQUksQ0FBQSxPQUFBSyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLENBQUEsR0FBQUYsTUFBQSxDQUFBQyxxQkFBQSxDQUFBVixDQUFBLFFBQUFNLENBQUEsTUFBQUEsQ0FBQSxHQUFBSyxDQUFBLENBQUFDLE1BQUEsRUFBQU4sQ0FBQSxJQUFBRCxDQUFBLEdBQUFNLENBQUEsQ0FBQUwsQ0FBQSxHQUFBRixDQUFBLENBQUFTLE9BQUEsQ0FBQVIsQ0FBQSxhQUFBUyxvQkFBQSxDQUFBQyxJQUFBLENBQUFmLENBQUEsRUFBQUssQ0FBQSxNQUFBRSxDQUFBLENBQUFGLENBQUEsSUFBQUwsQ0FBQSxDQUFBSyxD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
|