appium 2.0.0-beta.30 → 2.0.0-beta.35
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/build/lib/appium.d.ts +1 -1
- package/build/lib/appium.d.ts.map +1 -1
- package/build/lib/appium.js +5 -2
- package/build/lib/cli/args.js +1 -1
- package/build/lib/cli/driver-command.d.ts +3 -3
- package/build/lib/cli/driver-command.d.ts.map +1 -1
- package/build/lib/cli/driver-command.js +8 -8
- package/build/lib/cli/extension-command.d.ts +22 -17
- package/build/lib/cli/extension-command.d.ts.map +1 -1
- package/build/lib/cli/extension-command.js +35 -36
- package/build/lib/cli/extension.js +1 -1
- package/build/lib/cli/parser.d.ts +3 -2
- package/build/lib/cli/parser.d.ts.map +1 -1
- package/build/lib/cli/parser.js +1 -1
- package/build/lib/cli/plugin-command.d.ts +9 -15
- package/build/lib/cli/plugin-command.d.ts.map +1 -1
- package/build/lib/cli/plugin-command.js +8 -8
- package/build/lib/cli/utils.js +1 -1
- package/build/lib/config-file.js +1 -1
- package/build/lib/config.d.ts +5 -4
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +1 -1
- package/build/lib/constants.js +1 -1
- package/build/lib/extension/driver-config.js +1 -1
- package/build/lib/extension/extension-config.js +1 -1
- package/build/lib/extension/index.js +1 -1
- package/build/lib/extension/manifest.d.ts.map +1 -1
- package/build/lib/extension/manifest.js +1 -1
- package/build/lib/extension/package-changed.js +1 -1
- package/build/lib/extension/plugin-config.js +1 -1
- package/build/lib/grid-register.js +1 -1
- package/build/lib/logger.js +1 -1
- package/build/lib/logsink.js +1 -1
- package/build/lib/main.d.ts +13 -10
- package/build/lib/main.d.ts.map +1 -1
- package/build/lib/main.js +57 -50
- package/build/lib/schema/arg-spec.js +1 -1
- package/build/lib/schema/cli-args.js +1 -1
- package/build/lib/schema/cli-transformers.js +1 -1
- package/build/lib/schema/index.js +1 -1
- package/build/lib/schema/keywords.js +1 -1
- package/build/lib/schema/schema.js +1 -1
- package/build/lib/utils.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/appium-manifest.d.ts +40 -0
- package/build/types/appium-manifest.d.ts.map +1 -0
- package/build/types/cli.d.ts +112 -0
- package/build/types/cli.d.ts.map +1 -0
- package/build/types/extension.d.ts +43 -0
- package/build/types/extension.d.ts.map +1 -0
- package/build/types/external-manifest.d.ts +47 -0
- package/build/types/external-manifest.d.ts.map +1 -0
- package/build/types/index.d.ts +15 -0
- package/build/types/index.d.ts.map +1 -0
- package/lib/appium.js +7 -3
- package/lib/cli/driver-command.js +45 -20
- package/lib/cli/extension-command.js +229 -123
- package/lib/cli/parser.js +2 -1
- package/lib/cli/plugin-command.js +33 -18
- package/lib/config.js +6 -5
- package/lib/extension/manifest.js +0 -2
- package/lib/main.js +78 -63
- package/package.json +20 -14
- package/types/{appium-manifest.d.ts → appium-manifest.ts} +1 -1
- package/types/{cli.d.ts → cli.ts} +48 -29
- package/types/{extension.d.ts → extension.ts} +4 -4
- package/types/{external-manifest.d.ts → external-manifest.ts} +2 -2
- package/types/{index.d.ts → index.ts} +7 -0
- package/lib/appium-config.schema.json +0 -278
|
@@ -294,4 +294,4 @@ class ExtensionConfig {
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
exports.ExtensionConfig = ExtensionConfig;
|
|
297
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9leHRlbnNpb24vZXh0ZW5zaW9uLWNvbmZpZy5qcyJdLCJuYW1lcyI6WyJJTlNUQUxMX1RZUEVfTlBNIiwiSU5TVEFMTF9UWVBFX0xPQ0FMIiwiSU5TVEFMTF9UWVBFX0dJVEhVQiIsIklOU1RBTExfVFlQRV9HSVQiLCJJTlNUQUxMX1RZUEVTIiwiU2V0IiwiRXh0ZW5zaW9uQ29uZmlnIiwiZXh0ZW5zaW9uVHlwZSIsImNvbmZpZ0tleSIsImluc3RhbGxlZEV4dGVuc2lvbnMiLCJsb2ciLCJtYW5pZmVzdCIsImNvbnN0cnVjdG9yIiwibG9nRm4iLCJsb2dnZXIiLCJfIiwiaXNGdW5jdGlvbiIsImVycm9yIiwiYmluZCIsImdldEV4dGVuc2lvbkRhdGEiLCJtYW5pZmVzdFBhdGgiLCJhcHBpdW1Ib21lIiwidmFsaWRhdGUiLCJleHRzIiwiZm91bmRQcm9ibGVtcyIsImV4dE5hbWUiLCJleHREYXRhIiwidG9QYWlycyIsImdldEdlbmVyaWNDb25maWdQcm9ibGVtcyIsImdldENvbmZpZ1Byb2JsZW1zIiwiZ2V0U2NoZW1hUHJvYmxlbXMiLCJwcm9ibGVtU3VtbWFyaWVzIiwicHJvYmxlbXMiLCJpc0VtcHR5IiwicHVzaCIsInByb2JsZW0iLCJlcnIiLCJKU09OIiwic3RyaW5naWZ5IiwidmFsIiwic3VtbWFyeSIsInNjaGVtYSIsImFyZ1NjaGVtYVBhdGgiLCJleHREYXRhSGFzU2NoZW1hIiwiaXNTdHJpbmciLCJyZWFkRXh0ZW5zaW9uU2NoZW1hIiwibWVzc2FnZSIsIkFMTE9XRURfU0NIRU1BX0VYVEVOU0lPTlMiLCJqb2luIiwiaXNQbGFpbk9iamVjdCIsInZlcnNpb24iLCJwa2dOYW1lIiwiaW5zdGFsbFNwZWMiLCJpbnN0YWxsVHlwZSIsIm1haW5DbGFzcyIsImhhcyIsImFkZEV4dGVuc2lvbiIsIndyaXRlIiwidXBkYXRlRXh0ZW5zaW9uIiwicmVtb3ZlRXh0ZW5zaW9uIiwicHJpbnQiLCJhY3RpdmVOYW1lcyIsImluZm8iLCJleHRlbnNpb25EZXNjIiwiRXJyb3IiLCJnZXRJbnN0YWxsUGF0aCIsInBhdGgiLCJyZXF1aXJlIiwicmVxUGF0aCIsInJlcVJlc29sdmVkIiwicmVzb2x2ZSIsInByb2Nlc3MiLCJlbnYiLCJBUFBJVU1fUkVMT0FEX0VYVEVOU0lPTlMiLCJjYWNoZSIsImRlYnVnIiwiaXNJbnN0YWxsZWQiLCJpbmNsdWRlcyIsIk9iamVjdCIsImtleXMiLCJfcmVhZEV4dGVuc2lvblNjaGVtYSIsImV4dFR5cGUiLCJUeXBlRXJyb3IiLCJtb2R1bGVPYmplY3QiLCJzY2hlbWFQYXRoIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJpc09iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFNQSxNQUFNQSxnQkFBZ0IsR0FBRyxLQUF6Qjs7QUFDQSxNQUFNQyxrQkFBa0IsR0FBRyxPQUEzQjs7QUFDQSxNQUFNQyxtQkFBbUIsR0FBRyxRQUE1Qjs7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyxLQUF6Qjs7QUFHQSxNQUFNQyxhQUFhLEdBQUcsSUFBSUMsR0FBSixDQUFRLENBQzVCRixnQkFENEIsRUFFNUJELG1CQUY0QixFQUc1QkQsa0JBSDRCLEVBSTVCRCxnQkFKNEIsQ0FBUixDQUF0Qjs7O0FBYU8sTUFBTU0sZUFBTixDQUFzQjtBQUUzQkMsRUFBQUEsYUFBYTtBQUdiQyxFQUFBQSxTQUFTO0FBR1RDLEVBQUFBLG1CQUFtQjtBQUduQkMsRUFBQUEsR0FBRztBQUdIQyxFQUFBQSxRQUFROztBQVFSQyxFQUFBQSxXQUFXLENBQUVMLGFBQUYsRUFBaUJJLFFBQWpCLEVBQTJCRSxLQUEzQixFQUFrQztBQUMzQyxVQUFNQyxNQUFNLEdBQUdDLGdCQUFFQyxVQUFGLENBQWFILEtBQWIsSUFBc0JBLEtBQXRCLEdBQThCSCxnQkFBSU8sS0FBSixDQUFVQyxJQUFWLENBQWVSLGVBQWYsQ0FBN0M7QUFDQSxTQUFLSCxhQUFMLEdBQXFCQSxhQUFyQjtBQUNBLFNBQUtDLFNBQUws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RXBCLE9BQUYsRUFBV0MsT0FBWCxFQUFvQjtBQUNyQyxXQUFPcEIsZUFBZSxDQUFDMEUsb0JBQWhCLENBQ0wsS0FBSzNELFVBREEsRUFFTCxLQUFLZCxhQUZBLEVBR0xrQixPQUhLLEVBSUxDLE9BSkssQ0FBUDtBQU1EOztBQTNXMEIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCByZXNvbHZlRnJvbSBmcm9tICdyZXNvbHZlLWZyb20nO1xuaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgQUxMT1dFRF9TQ0hFTUFfRVhURU5TSU9OUyxcbiAgaXNBbGxvd2VkU2NoZW1hRmlsZUV4dGVuc2lvbixcbiAgcmVnaXN0ZXJTY2hlbWEsXG59IGZyb20gJy4uL3NjaGVtYS9zY2hlbWEnO1xuXG5jb25zdCBJTlNUQUxMX1RZUEVfTlBNID0gJ25wbSc7XG5jb25zdCBJTlNUQUxMX1RZUEVfTE9DQUwgPSAnbG9jYWwnO1xuY29uc3QgSU5TVEFMTF9UWVBFX0dJVEhVQiA9ICdnaXRodWInO1xuY29uc3QgSU5TVEFMTF9UWVBFX0dJVCA9ICdnaXQnO1xuXG4vKiogQHR5cGUge1NldDxJbnN0YWxsVHlwZT59ICovXG5jb25zdCBJTlNUQUxMX1RZUEVTID0gbmV3IFNldChbXG4gIElOU1RBTExfVFlQRV9HSVQsXG4gIElOU1RBTExfVFlQRV9HSVRIVUIsXG4gIElOU1RBTExfVFlQRV9MT0NBTCxcbiAgSU5TVEFMTF9UWVBFX05QTSxcbl0pO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgYWJzdHJhY3QuIEl0IHNob3VsZCBub3QgYmUgaW5zdGFudGlhdGVkIGRpcmVjdGx5LlxuICpcbiAqIFN1YmNsYXNzZXMgc2hvdWxkIHByb3ZpZGUgdGhlIGdlbmVyaWMgcGFyYW1ldGVyIHRvIGltcGxlbWVudC5cbiAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5zaW9uQ29uZmlnIHtcbiAgLyoqIEB0eXBlIHtFeHRUeXBlfSAqL1xuICBleHRlbnNpb25UeXBlO1xuXG4gIC8qKiBAdHlwZSB7YCR7RXh0VHlwZX1zYH0gKi9cbiAgY29uZmlnS2V5O1xuXG4gIC8qKiBAdHlwZSB7RXh0UmVjb3JkPEV4dFR5cGU+fSAqL1xuICBpbnN0YWxsZWRFeHRlbnNpb25zO1xuXG4gIC8qKiBAdHlwZSB7RXh0ZW5zaW9uTG9nRm59ICovXG4gIGxvZztcblxuICAvKiogQHR5cGUge01hbmlmZXN0fSAqL1xuICBtYW5pZmVzdDtcblxuICAvKipcbiAgICogQHByb3RlY3RlZFxuICAgKiBAcGFyYW0ge0V4dFR5cGV9IGV4dGVuc2lvblR5cGUgLSBUeXBlIG9mIGV4dGVuc2lvblxuICAgKiBAcGFyYW0ge01hbmlmZXN0fSBtYW5pZmVzdCAtIGBNYW5pZmVzdGAgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtFeHRlbnNpb25Mb2dGbn0gW2xvZ0ZuXVxuICAgKi9cbiAgY29uc3RydWN0b3IgKGV4dGVuc2lvblR5cGUsIG1hbmlmZXN0LCBsb2dGbikge1xuICAgIGNvbnN0IGxvZ2dlciA9IF8uaXNGdW5jdGlvbihsb2dGbikgPyBsb2dGbiA6IGxvZy5lcnJvci5iaW5kKGxvZyk7XG4gICAgdGhpcy5leHRlbnNpb25UeXBlID0gZXh0ZW5zaW9uVHlwZTtcbiAgICB0aGlzLmNvbmZpZ0tleSA9IGAke2V4dGVuc2lvblR5cGV9c2A7XG4gICAgdGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zID0gbWFuaWZlc3QuZ2V0RXh0ZW5zaW9uRGF0YShleHRlbnNpb25UeXBlKTtcbiAgICB0aGlzLmxvZyA9IGxvZ2dlcjtcbiAgICB0aGlzLm1hbmlmZXN0ID0gbWFuaWZlc3Q7XG4gIH1cblxuICBnZXQgbWFuaWZlc3RQYXRoICgpIHtcbiAgICByZXR1cm4gdGhpcy5tYW5pZmVzdC5tYW5pZmVzdFBhdGg7XG4gIH1cblxuICBnZXQgYXBwaXVtSG9tZSAoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFuaWZlc3QuYXBwaXVtSG9tZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgZXh0ZW5zaW9ucyBmb3IgcHJvYmxlbXNcbiAgICogQHBhcmFtIHtFeHRSZWNvcmQ8RXh0VHlwZT59IGV4dHMgLSBFeHRlbnNpb24gZGF0YVxuICAgKi9cbiAgdmFsaWRhdGUgKGV4dHMpIHtcbiAgICBjb25zdCBmb3VuZFByb2JsZW1zID1cbiAgICAgIC8qKiBAdHlwZSB7UmVjb3JkPEV4dE5hbWU8RXh0VHlwZT4sUHJvYmxlbVtdPn0gKi8gKHt9KTtcbiAgICBmb3IgKGNvbnN0IFtcbiAgICAgIGV4dE5hbWUsXG4gICAgICBleHREYXRhLFxuICAgIF0gb2YgLyoqIEB0eXBlIHtbRXh0TmFtZTxFeHRUeXBlPiwgRXh0TWFuaWZlc3Q8RXh0VHlwZT5dW119ICovIChcbiAgICAgICAgXy50b1BhaXJzKGV4dHMpXG4gICAgICApKSB7XG4gICAgICBmb3VuZFByb2JsZW1zW2V4dE5hbWVdID0gW1xuICAgICAgICAuLi50aGlzLmdldEdlbmVyaWNDb25maWdQcm9ibGVtcyhleHREYXRhLCBleHROYW1lKSxcbiAgICAgICAgLi4udGhpcy5nZXRDb25maWdQcm9ibGVtcyhleHREYXRhKSxcbiAgICAgICAgLi4udGhpcy5nZXRTY2hlbWFQcm9ibGVtcyhleHREYXRhLCBleHROYW1lKSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3QgcHJvYmxlbVN1bW1hcmllcyA9IFtdO1xuICAgIGZvciAoY29uc3QgW2V4dE5hbWUsIHByb2JsZW1zXSBvZiBfLnRvUGFpcnMoZm91bmRQcm9ibGVtcykpIHtcbiAgICAgIGlmIChfLmlzRW1wdHkocHJvYmxlbXMpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gcmVtb3ZlIHRoaXMgZXh0ZW5zaW9uIGZyb20gdGhlIGxpc3Qgc2luY2UgaXQncyBub3QgdmFsaWRcbiAgICAgIGRlbGV0ZSBleHRzW2V4dE5hbWVdO1xuICAgICAgcHJvYmxlbVN1bW1hcmllcy5wdXNoKFxuICAgICAgICBgJHt0aGlzLmV4dGVuc2lvblR5cGV9ICR7ZXh0TmFtZX0gaGFkIGVycm9ycyBhbmQgd2lsbCBub3QgYCArXG4gICAgICAgICAgYGJlIGF2YWlsYWJsZS4gRXJyb3JzOmAsXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBwcm9ibGVtIG9mIHByb2JsZW1zKSB7XG4gICAgICAgIHByb2JsZW1TdW1tYXJpZXMucHVzaChcbiAgICAgICAgICBgICAtICR7cHJvYmxlbS5lcnJ9IChBY3R1YWwgdmFsdWU6IGAgK1xuICAgICAgICAgICAgYCR7SlNPTi5zdHJpbmdpZnkocHJvYmxlbS52YWwpfSlgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghXy5pc0VtcHR5KHByb2JsZW1TdW1tYXJpZXMpKSB7XG4gICAgICB0aGlzLmxvZyhcbiAgICAgICAgYEFwcGl1bSBlbmNvdW50ZXJlZCBvbmUgb3IgbW9yZSBlcnJvcnMgd2hpbGUgdmFsaWRhdGluZyBgICtcbiAgICAgICAgICBgdGhlICR7dGhpcy5jb25maWdLZXl9IGV4dGVuc2lvbiBmaWxlICgke3RoaXMubWFuaWZlc3RQYXRofSk6YCxcbiAgICAgICk7XG4gICAgICBmb3IgKGNvbnN0IHN1bW1hcnkgb2YgcHJvYmxlbVN1bW1hcmllcykge1xuICAgICAgICB0aGlzLmxvZyhzdW1tYXJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXh0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhXG4gICAqIEBwYXJhbSB7RXh0TmFtZTxFeHRUeXBlPn0gZXh0TmFtZVxuICAgKiBAcmV0dXJucyB7UHJvYmxlbVtdfVxuICAgKi9cbiAgZ2V0U2NoZW1hUHJvYmxlbXMgKGV4dERhdGEsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBwcm9ibGVtcyA9IFtdO1xuICAgIGNvbnN0IHtzY2hlbWE6IGFyZ1NjaGVtYVBhdGh9ID0gZXh0RGF0YTtcbiAgICBpZiAoRXh0ZW5zaW9uQ29uZmlnLmV4dERhdGFIYXNTY2hlbWEoZXh0RGF0YSkpIHtcbiAgICAgIGlmIChfLmlzU3RyaW5nKGFyZ1NjaGVtYVBhdGgpKSB7XG4gICAgICAgIGlmIChpc0FsbG93ZWRTY2hlbWFGaWxlRXh0ZW5zaW9uKGFyZ1NjaGVtYVBhdGgpKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMucmVhZEV4dGVuc2lvblNjaGVtYShleHROYW1lLCBleHREYXRhKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHByb2JsZW1zLnB1c2goe1xuICAgICAgICAgICAgICBlcnI6IGBVbmFibGUgdG8gcmVnaXN0ZXIgc2NoZW1hIGF0IHBhdGggJHthcmdTY2hlbWFQYXRofTsgJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICAgICAgICB2YWw6IGFyZ1NjaGVtYVBhdGgsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvYmxlbXMucHVzaCh7XG4gICAgICAgICAgICBlcnI6IGBTY2hlbWEgZmlsZSBoYXMgdW5zdXBwb3J0ZWQgZXh0ZW5zaW9uLiBBbGxvd2VkOiAke1tcbiAgICAgICAgICAgICAgLi4uQUxMT1dFRF9TQ0hFTUFfRVhURU5TSU9OUyxcbiAgICAgICAgICAgIF0uam9pbignLCAnKX1gLFxuICAgICAgICAgICAgdmFsOiBhcmdTY2hlbWFQYXRoLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKF8uaXNQbGFpbk9iamVjdChhcmdTY2hlbWFQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMucmVhZEV4dGVuc2lvblNjaGVtYShleHROYW1lLCBleHREYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgcHJvYmxlbXMucHVzaCh7XG4gICAgICAgICAgICBlcnI6IGBVbmFibGUgdG8gcmVnaXN0ZXIgZW1iZWRkZWQgc2NoZW1hOyAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICAgICB2YWw6IGFyZ1NjaGVtYVBhdGgsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2JsZW1zLnB1c2goe1xuICAgICAgICAgIGVycjogJ0luY29ycmVjdGx5IGZvcm1hdHRlZCBzY2hlbWEgZmllbGQ7IG11c3QgYmUgYSBwYXRoIHRvIGEgc2NoZW1hIGZpbGUgb3IgYSBzY2hlbWEgb2JqZWN0LicsXG4gICAgICAgICAgdmFsOiBhcmdTY2hlbWFQYXRoLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb2JsZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXh0TWFuaWZlc3Q8RXh0VHlwZT59IGV4dERhdGFcbiAgICogQHBhcmFtIHtFeHROYW1lPEV4dFR5cGU+fSBleHROYW1lXG4gICAqIEByZXR1cm5zIHtQcm9ibGVtW119XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgZ2V0R2VuZXJpY0NvbmZpZ1Byb2JsZW1zIChleHREYXRhLCBleHROYW1lKSB7XG4gICAgY29uc3Qge3ZlcnNpb24sIHBrZ05hbWUsIGluc3RhbGxTcGVjLCBpbnN0YWxsVHlwZSwgbWFpbkNsYXNzfSA9XG4gICAgICBleHREYXRhO1xuICAgIGNvbnN0IHByb2JsZW1zID0gW107XG5cbiAgICBpZiAoIV8uaXNTdHJpbmcodmVyc2lvbikpIHtcbiAgICAgIHByb2JsZW1zLnB1c2goe2VycjogJ01pc3Npbmcgb3IgaW5jb3JyZWN0IHZlcnNpb24nLCB2YWw6IHZlcnNpb259KTtcbiAgICB9XG5cbiAgICBpZiAoIV8uaXNTdHJpbmcocGtnTmFtZSkpIHtcbiAgICAgIHByb2JsZW1zLnB1c2goe1xuICAgICAgICBlcnI6ICdNaXNzaW5nIG9yIGluY29ycmVjdCBOUE0gcGFja2FnZSBuYW1lJyxcbiAgICAgICAgdmFsOiBwa2dOYW1lLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzU3RyaW5nKGluc3RhbGxTcGVjKSkge1xuICAgICAgcHJvYmxlbXMucHVzaCh7XG4gICAgICAgIGVycjogJ01pc3Npbmcgb3IgaW5jb3JyZWN0IGluc3RhbGxhdGlvbiBzcGVjJyxcbiAgICAgICAgdmFsOiBpbnN0YWxsU3BlYyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghSU5TVEFMTF9UWVBFUy5oYXMoaW5zdGFsbFR5cGUpKSB7XG4gICAgICBwcm9ibGVtcy5wdXNoKHtcbiAgICAgICAgZXJyOiAnTWlzc2luZyBvciBpbmNvcnJlY3QgaW5zdGFsbCB0eXBlJyxcbiAgICAgICAgdmFsOiBpbnN0YWxsVHlwZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghXy5pc1N0cmluZyhtYWluQ2xhc3MpKSB7XG4gICAgICBwcm9ibGVtcy5wdXNoKHtcbiAgICAgICAgZXJyOiAnTWlzc2luZyBvciBpbmNvcnJlY3QgZHJpdmVyIGNsYXNzIG5hbWUnLFxuICAgICAgICB2YWw6IG1haW5DbGFzcyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9ibGVtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdDxFeHRUeXBlPn0gZXh0RGF0YVxuICAgKiBAcmV0dXJucyB7UHJvYmxlbVtdfVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIGdldENvbmZpZ1Byb2JsZW1zIChleHREYXRhKSB7XG4gICAgLy8gc2hvdWQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgaWYgc3BlY2lhbCB2YWxpZGF0aW9uIGlzIG5lY2Vzc2FyeSBmb3IgdGhpcyBleHRlbnNpb24gdHlwZVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZVxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhXG4gICAqIEBwYXJhbSB7RXh0ZW5zaW9uQ29uZmlnTXV0YXRpb25PcHRzfSBbb3B0c11cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBhZGRFeHRlbnNpb24gKGV4dE5hbWUsIGV4dERhdGEsIHt3cml0ZSA9IHRydWV9ID0ge30pIHtcbiAgICB0aGlzLm1hbmlmZXN0LmFkZEV4dGVuc2lvbih0aGlzLmV4dGVuc2lvblR5cGUsIGV4dE5hbWUsIGV4dERhdGEpO1xuICAgIGlmICh3cml0ZSkge1xuICAgICAgYXdhaXQgdGhpcy5tYW5pZmVzdC53cml0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWVcbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdDxFeHRUeXBlPnxpbXBvcnQoJy4uL2NsaS9leHRlbnNpb24tY29tbWFuZCcpLkV4dGVuc2lvbkZpZWxkczxFeHRUeXBlPn0gZXh0RGF0YVxuICAgKiBAcGFyYW0ge0V4dGVuc2lvbkNvbmZpZ011dGF0aW9uT3B0c30gW29wdHNdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgdXBkYXRlRXh0ZW5zaW9uIChleHROYW1lLCBleHREYXRhLCB7d3JpdGUgPSB0cnVlfSA9IHt9KSB7XG4gICAgdGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zW2V4dE5hbWVdID0ge1xuICAgICAgLi4udGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zW2V4dE5hbWVdLFxuICAgICAgLi4uZXh0RGF0YSxcbiAgICB9O1xuICAgIGlmICh3cml0ZSkge1xuICAgICAgYXdhaXQgdGhpcy5tYW5pZmVzdC53cml0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25Db25maWdNdXRhdGlvbk9wdHN9IFtvcHRzXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIHJlbW92ZUV4dGVuc2lvbiAoZXh0TmFtZSwge3dyaXRlID0gdHJ1ZX0gPSB7fSkge1xuICAgIGRlbGV0ZSB0aGlzLmluc3RhbGxlZEV4dGVuc2lvbnNbZXh0TmFtZV07XG4gICAgaWYgKHdyaXRlKSB7XG4gICAgICBhd2FpdCB0aGlzLm1hbmlmZXN0LndyaXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXh0TmFtZTxFeHRUeXBlPltdfSBbYWN0aXZlTmFtZXNdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIHByaW50IChhY3RpdmVOYW1lcykge1xuICAgIGlmIChfLmlzRW1wdHkodGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zKSkge1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBObyAke3RoaXMuY29uZmlnS2V5fSBoYXZlIGJlZW4gaW5zdGFsbGVkIGluICR7dGhpcy5hcHBpdW1Ib21lfS4gVXNlIHRoZSBcImFwcGl1bSAke3RoaXMuZXh0ZW5zaW9uVHlwZX1cIiBgICtcbiAgICAgICAgICAnY29tbWFuZCB0byBpbnN0YWxsIHRoZSBvbmUocykgeW91IHdhbnQgdG8gdXNlLicsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZy5pbmZvKGBBdmFpbGFibGUgJHt0aGlzLmNvbmZpZ0tleX06YCk7XG4gICAgZm9yIChjb25zdCBbXG4gICAgICBleHROYW1lLFxuICAgICAgZXh0RGF0YSxcbiAgICBdIG9mIC8qKiBAdHlwZSB7W3N0cmluZywgRXh0TWFuaWZlc3Q8RXh0VHlwZT5dW119ICovIChcbiAgICAgICAgXy50b1BhaXJzKHRoaXMuaW5zdGFsbGVkRXh0ZW5zaW9ucylcbiAgICAgICkpIHtcbiAgICAgIGxvZy5pbmZvKGAgIC0gJHt0aGlzLmV4dGVuc2lvbkRlc2MoZXh0TmFtZSwgZXh0RGF0YSl9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgZXh0ZW5zaW9uLiBTdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50LlxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWUgLSBFeHRlbnNpb24gbmFtZVxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhIC0gRXh0ZW5zaW9uIGRhdGFcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQGFic3RyYWN0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgZXh0ZW5zaW9uRGVzYyAoZXh0TmFtZSwgZXh0RGF0YSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBtdXN0IGJlIGltcGxlbWVudGVkIGluIGEgc3ViY2xhc3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0SW5zdGFsbFBhdGggKGV4dE5hbWUpIHtcbiAgICByZXR1cm4gcGF0aC5qb2luKHRoaXMuYXBwaXVtSG9tZSwgJ25vZGVfbW9kdWxlcycsIHRoaXMuaW5zdGFsbGVkRXh0ZW5zaW9uc1tleHROYW1lXS5wa2dOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBleHRlbnNpb24gYW5kIHJldHVybnMgaXRzIG1haW4gY2xhc3MgKGNvbnN0cnVjdG9yKVxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWVcbiAgICogQHJldHVybnMge0V4dENsYXNzPEV4dFR5cGU+fVxuICAgKi9cbiAgcmVxdWlyZSAoZXh0TmFtZSkge1xuICAgIGNvbnN0IHttYWluQ2xhc3N9ID0gdGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zW2V4dE5hbWVdO1xuICAgIGNvbnN0IHJlcVBhdGggPSB0aGlzLmdldEluc3RhbGxQYXRoKGV4dE5hbWUpO1xuICAgIGNvbnN0IHJlcVJlc29sdmVkID0gcmVxdWlyZS5yZXNvbHZlKHJlcVBhdGgpO1xuICAgIC8vIG5vdGU6IHRoaXMgd2lsbCBvbmx5IHJlbG9hZCB0aGUgZW50cnkgcG9pbnRcbiAgICBpZiAocHJvY2Vzcy5lbnYuQVBQSVVNX1JFTE9BRF9FWFRFTlNJT05TICYmIHJlcXVpcmUuY2FjaGVbcmVxUmVzb2x2ZWRdKSB7XG4gICAgICBsb2cuZGVidWcoYFJlbW92aW5nICR7cmVxUmVzb2x2ZWR9IGZyb20gcmVxdWlyZSBjYWNoZWApO1xuICAgICAgZGVsZXRlIHJlcXVpcmUuY2FjaGVbcmVxUmVzb2x2ZWRdO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYFJlcXVpcmluZyAke3RoaXMuZXh0ZW5zaW9uVHlwZX0gYXQgJHtyZXFQYXRofWApO1xuICAgIHJldHVybiByZXF1aXJlKHJlcVBhdGgpW21haW5DbGFzc107XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dE5hbWVcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBpc0luc3RhbGxlZCAoZXh0TmFtZSkge1xuICAgIHJldHVybiBfLmluY2x1ZGVzKE9iamVjdC5rZXlzKHRoaXMuaW5zdGFsbGVkRXh0ZW5zaW9ucyksIGV4dE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVuZGVkIHRvIGJlIGNhbGxlZCBieSBjb3JyZXNwb25kaW5nIGluc3RhbmNlIG1ldGhvZHMgb2Ygc3ViY2xhc3MuXG4gICAqIEBwcml2YXRlXG4gICAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBwaXVtSG9tZVxuICAgKiBAcGFyYW0ge0V4dFR5cGV9IGV4dFR5cGVcbiAgICogQHBhcmFtIHtFeHROYW1lPEV4dFR5cGU+fSBleHROYW1lIC0gRXh0ZW5zaW9uIG5hbWUgKHVuaXF1ZSB0byBpdHMgdHlwZSlcbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdFdpdGhTY2hlbWE8RXh0VHlwZT59IGV4dERhdGEgLSBFeHRlbnNpb24gY29uZmlnXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoJ2FqdicpLlNjaGVtYU9iamVjdHx1bmRlZmluZWR9XG4gICAqL1xuICBzdGF0aWMgX3JlYWRFeHRlbnNpb25TY2hlbWEgKGFwcGl1bUhvbWUsIGV4dFR5cGUsIGV4dE5hbWUsIGV4dERhdGEpIHtcbiAgICBjb25zdCB7cGtnTmFtZSwgc2NoZW1hOiBhcmdTY2hlbWFQYXRofSA9IGV4dERhdGE7XG4gICAgaWYgKCFhcmdTY2hlbWFQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgTm8gXFxgc2NoZW1hXFxgIHByb3BlcnR5IGZvdW5kIGluIGNvbmZpZyBmb3IgJHtleHRUeXBlfSAke3BrZ05hbWV9IC0tIHdoeSBpcyB0aGlzIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZD9gLFxuICAgICAgKTtcbiAgICB9XG4gICAgbGV0IG1vZHVsZU9iamVjdDtcbiAgICBpZiAoXy5pc1N0cmluZyhhcmdTY2hlbWFQYXRoKSkge1xuICAgICAgY29uc3Qgc2NoZW1hUGF0aCA9IHJlc29sdmVGcm9tKGFwcGl1bUhvbWUsIHBhdGguam9pbihwa2dOYW1lLCBhcmdTY2hlbWFQYXRoKSk7XG4gICAgICBtb2R1bGVPYmplY3QgPSByZXF1aXJlKHNjaGVtYVBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtb2R1bGVPYmplY3QgPSBhcmdTY2hlbWFQYXRoO1xuICAgIH1cbiAgICAvLyB0aGlzIHN1Y2tzLiBkZWZhdWx0IGV4cG9ydHMgc2hvdWxkIGJlIGRlc3Ryb3llZFxuICAgIGNvbnN0IHNjaGVtYSA9IG1vZHVsZU9iamVjdC5fX2VzTW9kdWxlXG4gICAgICA/IG1vZHVsZU9iamVjdC5kZWZhdWx0XG4gICAgICA6IG1vZHVsZU9iamVjdDtcbiAgICByZWdpc3RlclNjaGVtYShleHRUeXBlLCBleHROYW1lLCBzY2hlbWEpO1xuICAgIHJldHVybiBzY2hlbWE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBgdHJ1ZWAgaWYgYSBzcGVjaWZpYyB7QGxpbmsgRXh0TWFuaWZlc3R9IG9iamVjdCBoYXMgYSBgc2NoZW1hYCBwcm9wLlxuICAgKiBUaGUge0BsaW5rIEV4dE1hbmlmZXN0fSBvYmplY3QgYmVjb21lcyBhIHtAbGluayBFeHRNYW5pZmVzdFdpdGhTY2hlbWF9IG9iamVjdC5cbiAgICogQHRlbXBsYXRlIHtFeHRlbnNpb25UeXBlfSBFeHRUeXBlXG4gICAqIEBwYXJhbSB7RXh0TWFuaWZlc3Q8RXh0VHlwZT59IGV4dERhdGFcbiAgICogQHJldHVybnMge2V4dERhdGEgaXMgRXh0TWFuaWZlc3RXaXRoU2NoZW1hPEV4dFR5cGU+fVxuICAgKi9cbiAgc3RhdGljIGV4dERhdGFIYXNTY2hlbWEgKGV4dERhdGEpIHtcbiAgICByZXR1cm4gXy5pc1N0cmluZyhleHREYXRhPy5zY2hlbWEpIHx8IF8uaXNPYmplY3QoZXh0RGF0YT8uc2NoZW1hKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBhbiBleHRlbnNpb24gcHJvdmlkZXMgYSBzY2hlbWEsIHRoaXMgd2lsbCBsb2FkIHRoZSBzY2hlbWEgYW5kIGF0dGVtcHQgdG9cbiAgICogcmVnaXN0ZXIgaXQgd2l0aCB0aGUgc2NoZW1hIHJlZ2lzdHJhci5cbiAgICogQHBhcmFtIHtFeHROYW1lPEV4dFR5cGU+fSBleHROYW1lIC0gTmFtZSBvZiBleHRlbnNpb25cbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdFdpdGhTY2hlbWE8RXh0VHlwZT59IGV4dERhdGEgLSBFeHRlbnNpb24gZGF0YVxuICAgKiBAcmV0dXJucyB7aW1wb3J0KCdhanYnKS5TY2hlbWFPYmplY3R8dW5kZWZpbmVkfVxuICAgKi9cbiAgcmVhZEV4dGVuc2lvblNjaGVtYSAoZXh0TmFtZSwgZXh0RGF0YSkge1xuICAgIHJldHVybiBFeHRlbnNpb25Db25maWcuX3JlYWRFeHRlbnNpb25TY2hlbWEoXG4gICAgICB0aGlzLmFwcGl1bUhvbWUsXG4gICAgICB0aGlzLmV4dGVuc2lvblR5cGUsXG4gICAgICBleHROYW1lLFxuICAgICAgZXh0RGF0YSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7XG4gIElOU1RBTExfVFlQRV9OUE0sXG4gIElOU1RBTExfVFlQRV9HSVQsXG4gIElOU1RBTExfVFlQRV9MT0NBTCxcbiAgSU5TVEFMTF9UWVBFX0dJVEhVQixcbiAgSU5TVEFMTF9UWVBFUyxcbn07XG5cbi8qKlxuICogQ29uZmlnIHByb2JsZW1cbiAqIEB0eXBlZGVmIFByb2JsZW1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBlcnIgLSBFcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge2FueX0gdmFsIC0gQXNzb2NpYXRlZCB2YWx1ZVxuICovXG5cbi8qKlxuICogQW4gb3B0aW9uYWwgbG9nZ2luZyBmdW5jdGlvbiBwcm92aWRlZCB0byBhbiB7QGxpbmsgRXh0ZW5zaW9uQ29uZmlnfSBzdWJjbGFzcy5cbiAqIEBjYWxsYmFjayBFeHRlbnNpb25Mb2dGblxuICogQHBhcmFtIHsuLi5hbnl9IGFyZ3NcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMnKS5FeHRlbnNpb25UeXBlfSBFeHRlbnNpb25UeXBlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL21hbmlmZXN0JykuTWFuaWZlc3R9IE1hbmlmZXN0XG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0TWFuaWZlc3Q8VD59IEV4dE1hbmlmZXN0XG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0TWFuaWZlc3RXaXRoU2NoZW1hPFQ+fSBFeHRNYW5pZmVzdFdpdGhTY2hlbWFcbiAqL1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi8uLi90eXBlcy9hcHBpdW0tbWFuaWZlc3QnKS5FeHROYW1lPFQ+fSBFeHROYW1lXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvZXh0ZW5zaW9uJykuRXh0Q2xhc3M8VD59IEV4dENsYXNzXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0UmVjb3JkPFQ+fSBFeHRSZWNvcmRcbiAqL1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHZhcmlvdXMgbWV0aG9kcyBpbiB7QGxpbmsgRXh0ZW5zaW9uQ29uZmlnfVxuICogQHR5cGVkZWYgRXh0ZW5zaW9uQ29uZmlnTXV0YXRpb25PcHRzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt3cml0ZT10cnVlXSBXaGV0aGVyIG9yIG5vdCB0byB3cml0ZSB0aGUgbWFuaWZlc3QgdG8gZGlzayBhZnRlciBhIG11dGF0aW9uIG9wZXJhdGlvblxuICovXG5cbi8qKlxuICogQSB2YWxpZCBpbnN0YWxsIHR5cGVcbiAqIEB0eXBlZGVmIHt0eXBlb2YgSU5TVEFMTF9UWVBFX05QTSB8IHR5cGVvZiBJTlNUQUxMX1RZUEVfR0lUIHwgdHlwZW9mIElOU1RBTExfVFlQRV9MT0NBTCB8IHR5cGVvZiBJTlNUQUxMX1RZUEVfR0lUSFVCfSBJbnN0YWxsVHlwZVxuICovXG4iXX0=
|
|
297
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJTlNUQUxMX1RZUEVfTlBNIiwiSU5TVEFMTF9UWVBFX0xPQ0FMIiwiSU5TVEFMTF9UWVBFX0dJVEhVQiIsIklOU1RBTExfVFlQRV9HSVQiLCJJTlNUQUxMX1RZUEVTIiwiU2V0IiwiRXh0ZW5zaW9uQ29uZmlnIiwiZXh0ZW5zaW9uVHlwZSIsImNvbmZpZ0tleSIsImluc3RhbGxlZEV4dGVuc2lvbnMiLCJsb2ciLCJtYW5pZmVzdCIsImNvbnN0cnVjdG9yIiwibG9nRm4iLCJsb2dnZXIiLCJfIiwiaXNGdW5jdGlvbiIsImVycm9yIiwiYmluZCIsImdldEV4dGVuc2lvbkRhdGEiLCJtYW5pZmVzdFBhdGgiLCJhcHBpdW1Ib21lIiwidmFsaWRhdGUiLCJleHRzIiwiZm91bmRQcm9ibGVtcyIsImV4dE5hbWUiLCJleHREYXRhIiwidG9QYWlycyIsImdldEdlbmVyaWNDb25maWdQcm9ibGVtcyIsImdldENvbmZpZ1Byb2JsZW1zIiwiZ2V0U2NoZW1hUHJvYmxlbXMiLCJwcm9ibGVtU3VtbWFyaWVzIiwicHJvYmxlbXMiLCJpc0VtcHR5IiwicHVzaCIsInByb2JsZW0iLCJlcnIiLCJKU09OIiwic3RyaW5naWZ5IiwidmFsIiwic3VtbWFyeSIsInNjaGVtYSIsImFyZ1NjaGVtYVBhdGgiLCJleHREYXRhSGFzU2NoZW1hIiwiaXNTdHJpbmciLCJyZWFkRXh0ZW5zaW9uU2NoZW1hIiwibWVzc2FnZSIsIkFMTE9XRURfU0NIRU1BX0VYVEVOU0lPTlMiLCJqb2luIiwiaXNQbGFpbk9iamVjdCIsInZlcnNpb24iLCJwa2dOYW1lIiwiaW5zdGFsbFNwZWMiLCJpbnN0YWxsVHlwZSIsIm1haW5DbGFzcyIsImhhcyIsImFkZEV4dGVuc2lvbiIsIndyaXRlIiwidXBkYXRlRXh0ZW5zaW9uIiwicmVtb3ZlRXh0ZW5zaW9uIiwicHJpbnQiLCJhY3RpdmVOYW1lcyIsImluZm8iLCJleHRlbnNpb25EZXNjIiwiRXJyb3IiLCJnZXRJbnN0YWxsUGF0aCIsInBhdGgiLCJyZXF1aXJlIiwicmVxUGF0aCIsInJlcVJlc29sdmVkIiwicmVzb2x2ZSIsInByb2Nlc3MiLCJlbnYiLCJBUFBJVU1fUkVMT0FEX0VYVEVOU0lPTlMiLCJjYWNoZSIsImRlYnVnIiwiaXNJbnN0YWxsZWQiLCJpbmNsdWRlcyIsIk9iamVjdCIsImtleXMiLCJfcmVhZEV4dGVuc2lvblNjaGVtYSIsImV4dFR5cGUiLCJUeXBlRXJyb3IiLCJtb2R1bGVPYmplY3QiLCJzY2hlbWFQYXRoIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJpc09iamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9leHRlbnNpb24vZXh0ZW5zaW9uLWNvbmZpZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCByZXNvbHZlRnJvbSBmcm9tICdyZXNvbHZlLWZyb20nO1xuaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgQUxMT1dFRF9TQ0hFTUFfRVhURU5TSU9OUyxcbiAgaXNBbGxvd2VkU2NoZW1hRmlsZUV4dGVuc2lvbixcbiAgcmVnaXN0ZXJTY2hlbWEsXG59IGZyb20gJy4uL3NjaGVtYS9zY2hlbWEnO1xuXG5jb25zdCBJTlNUQUxMX1RZUEVfTlBNID0gJ25wbSc7XG5jb25zdCBJTlNUQUxMX1RZUEVfTE9DQUwgPSAnbG9jYWwnO1xuY29uc3QgSU5TVEFMTF9UWVBFX0dJVEhVQiA9ICdnaXRodWInO1xuY29uc3QgSU5TVEFMTF9UWVBFX0dJVCA9ICdnaXQnO1xuXG4vKiogQHR5cGUge1NldDxJbnN0YWxsVHlwZT59ICovXG5jb25zdCBJTlNUQUxMX1RZUEVTID0gbmV3IFNldChbXG4gIElOU1RBTExfVFlQRV9HSVQsXG4gIElOU1RBTExfVFlQRV9HSVRIVUIsXG4gIElOU1RBTExfVFlQRV9MT0NBTCxcbiAgSU5TVEFMTF9UWVBFX05QTSxcbl0pO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgYWJzdHJhY3QuIEl0IHNob3VsZCBub3QgYmUgaW5zdGFudGlhdGVkIGRpcmVjdGx5LlxuICpcbiAqIFN1YmNsYXNzZXMgc2hvdWxkIHByb3ZpZGUgdGhlIGdlbmVyaWMgcGFyYW1ldGVyIHRvIGltcGxlbWVudC5cbiAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5zaW9uQ29uZmlnIHtcbiAgLyoqIEB0eXBlIHtFeHRUeXBlfSAqL1xuICBleHRlbnNpb25UeXBlO1xuXG4gIC8qKiBAdHlwZSB7YCR7RXh0VHlwZX1zYH0gKi9cbiAgY29uZmlnS2V5O1xuXG4gIC8qKiBAdHlwZSB7RXh0UmVjb3JkPEV4dFR5cGU+fSAqL1xuICBpbnN0YWxsZWRFeHRlbnNpb25zO1xuXG4gIC8qKiBAdHlwZSB7RXh0ZW5zaW9uTG9nRm59ICovXG4gIGxvZztcblxuICAvKiogQHR5cGUge01hbmlmZXN0fSAqL1xuICBtYW5pZmVzdDtcblxuICAvKipcbiAgICogQHByb3RlY3RlZFxuICAgKiBAcGFyYW0ge0V4dFR5cGV9IGV4dGVuc2lvblR5cGUgLSBUeXBlIG9mIGV4dGVuc2lvblxuICAgKiBAcGFyYW0ge01hbmlmZXN0fSBtYW5pZmVzdCAtIGBNYW5pZmVzdGAgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtFeHRlbnNpb25Mb2dGbn0gW2xvZ0ZuXVxuICAgKi9cbiAgY29uc3RydWN0b3IgKGV4dGVuc2lvblR5cGUsIG1hbmlmZXN0LCBsb2dGbikge1xuICAgIGNvbnN0IGxvZ2dlciA9IF8uaXNGdW5jdGlvbihsb2dGbikgPyBsb2dGbiA6IGxvZy5lcnJvci5iaW5kKGxvZyk7XG4gICAgdGhpcy5leHRlbnNpb25UeXBlID0gZXh0ZW5zaW9uVHlwZTtcbiAgICB0aGlzLmNvbmZpZ0tleSA9IGAke2V4dGVuc2lvblR5cGV9c2A7XG4gICAgdGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zID0gbWFuaWZlc3QuZ2V0RXh0ZW5zaW9uRGF0YShleHRlbnNpb25UeXBlKTtcbiAgICB0aGlzLmxvZyA9IGxvZ2dlcjtcbiAgICB0aGlzLm1hbmlmZXN0ID0gbWFuaWZlc3Q7XG4gIH1cblxuICBnZXQgbWFuaWZlc3RQYXRoICgpIHtcbiAgICByZXR1cm4gdGhpcy5tYW5pZmVzdC5tYW5pZmVzdFBhdGg7XG4gIH1cblxuICBnZXQgYXBwaXVtSG9tZSAoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFuaWZlc3QuYXBwaXVtSG9tZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgZXh0ZW5zaW9ucyBmb3IgcHJvYmxlbXNcbiAgICogQHBhcmFtIHtFeHRSZWNvcmQ8RXh0VHlwZT59IGV4dHMgLSBFeHRlbnNpb24gZGF0YVxuICAgKi9cbiAgdmFsaWRhdGUgKGV4dHMpIHtcbiAgICBjb25zdCBmb3VuZFByb2JsZW1zID1cbiAgICAgIC8qKiBAdHlwZSB7UmVjb3JkPEV4dE5hbWU8RXh0VHlwZT4sUHJvYmxlbVtdPn0gKi8gKHt9KTtcbiAgICBmb3IgKGNvbnN0IFtcbiAgICAgIGV4dE5hbWUsXG4gICAgICBleHREYXRhLFxuICAgIF0gb2YgLyoqIEB0eXBlIHtbRXh0TmFtZTxFeHRUeXBlPiwgRXh0TWFuaWZlc3Q8RXh0VHlwZT5dW119ICovIChcbiAgICAgICAgXy50b1BhaXJzKGV4dHMpXG4gICAgICApKSB7XG4gICAgICBmb3VuZFByb2JsZW1zW2V4dE5hbWVdID0gW1xuICAgICAgICAuLi50aGlzLmdldEdlbmVyaWNDb25maWdQcm9ibGVtcyhleHREYXRhLCBleHROYW1lKSxcbiAgICAgICAgLi4udGhpcy5nZXRDb25maWdQcm9ibGVtcyhleHREYXRhKSxcbiAgICAgICAgLi4udGhpcy5nZXRTY2hlbWFQcm9ibGVtcyhleHREYXRhLCBleHROYW1lKSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3QgcHJvYmxlbVN1bW1hcmllcyA9IFtdO1xuICAgIGZvciAoY29uc3QgW2V4dE5hbWUsIHByb2JsZW1zXSBvZiBfLnRvUGFpcnMoZm91bmRQcm9ibGVtcykpIHtcbiAgICAgIGlmIChfLmlzRW1wdHkocHJvYmxlbXMpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gcmVtb3ZlIHRoaXMgZXh0ZW5zaW9uIGZyb20gdGhlIGxpc3Qgc2luY2UgaXQncyBub3QgdmFsaWRcbiAgICAgIGRlbGV0ZSBleHRzW2V4dE5hbWVdO1xuICAgICAgcHJvYmxlbVN1bW1hcmllcy5wdXNoKFxuICAgICAgICBgJHt0aGlzLmV4dGVuc2lvblR5cGV9ICR7ZXh0TmFtZX0gaGFkIGVycm9ycyBhbmQgd2lsbCBub3QgYCArXG4gICAgICAgICAgYGJlIGF2YWlsYWJsZS4gRXJyb3JzOmAsXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBwcm9ibGVtIG9mIHByb2JsZW1zKSB7XG4gICAgICAgIHByb2JsZW1TdW1tYXJpZXMucHVzaChcbiAgICAgICAgICBgICAtICR7cHJvYmxlbS5lcnJ9IChBY3R1YWwgdmFsdWU6IGAgK1xuICAgICAgICAgICAgYCR7SlNPTi5zdHJpbmdpZnkocHJvYmxlbS52YWwpfSlgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghXy5pc0VtcHR5KHByb2JsZW1TdW1tYXJpZXMpKSB7XG4gICAgICB0aGlzLmxvZyhcbiAgICAgICAgYEFwcGl1bSBlbmNvdW50ZXJlZCBvbmUgb3IgbW9yZSBlcnJvcnMgd2hpbGUgdmFsaWRhdGluZyBgICtcbiAgICAgICAgICBgdGhlICR7dGhpcy5jb25maWdLZXl9IGV4dGVuc2lvbiBmaWxlICgke3RoaXMubWFuaWZlc3RQYXRofSk6YCxcbiAgICAgICk7XG4gICAgICBmb3IgKGNvbnN0IHN1bW1hcnkgb2YgcHJvYmxlbVN1bW1hcmllcykge1xuICAgICAgICB0aGlzLmxvZyhzdW1tYXJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXh0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhXG4gICAqIEBwYXJhbSB7RXh0TmFtZTxFeHRUeXBlPn0gZXh0TmFtZVxuICAgKiBAcmV0dXJucyB7UHJvYmxlbVtdfVxuICAgKi9cbiAgZ2V0U2NoZW1hUHJvYmxlbXMgKGV4dERhdGEsIGV4dE5hbWUpIHtcbiAgICBjb25zdCBwcm9ibGVtcyA9IFtdO1xuICAgIGNvbnN0IHtzY2hlbWE6IGFyZ1NjaGVtYVBhdGh9ID0gZXh0RGF0YTtcbiAgICBpZiAoRXh0ZW5zaW9uQ29uZmlnLmV4dERhdGFIYXNTY2hlbWEoZXh0RGF0YSkpIHtcbiAgICAgIGlmIChfLmlzU3RyaW5nKGFyZ1NjaGVtYVBhdGgpKSB7XG4gICAgICAgIGlmIChpc0FsbG93ZWRTY2hlbWFGaWxlRXh0ZW5zaW9uKGFyZ1NjaGVtYVBhdGgpKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMucmVhZEV4dGVuc2lvblNjaGVtYShleHROYW1lLCBleHREYXRhKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHByb2JsZW1zLnB1c2goe1xuICAgICAgICAgICAgICBlcnI6IGBVbmFibGUgdG8gcmVnaXN0ZXIgc2NoZW1hIGF0IHBhdGggJHthcmdTY2hlbWFQYXRofTsgJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICAgICAgICB2YWw6IGFyZ1NjaGVtYVBhdGgsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvYmxlbXMucHVzaCh7XG4gICAgICAgICAgICBlcnI6IGBTY2hlbWEgZmlsZSBoYXMgdW5zdXBwb3J0ZWQgZXh0ZW5zaW9uLiBBbGxvd2VkOiAke1tcbiAgICAgICAgICAgICAgLi4uQUxMT1dFRF9TQ0hFTUFfRVhURU5TSU9OUyxcbiAgICAgICAgICAgIF0uam9pbignLCAnKX1gLFxuICAgICAgICAgICAgdmFsOiBhcmdTY2hlbWFQYXRoLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKF8uaXNQbGFpbk9iamVjdChhcmdTY2hlbWFQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMucmVhZEV4dGVuc2lvblNjaGVtYShleHROYW1lLCBleHREYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgcHJvYmxlbXMucHVzaCh7XG4gICAgICAgICAgICBlcnI6IGBVbmFibGUgdG8gcmVnaXN0ZXIgZW1iZWRkZWQgc2NoZW1hOyAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICAgICB2YWw6IGFyZ1NjaGVtYVBhdGgsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2JsZW1zLnB1c2goe1xuICAgICAgICAgIGVycjogJ0luY29ycmVjdGx5IGZvcm1hdHRlZCBzY2hlbWEgZmllbGQ7IG11c3QgYmUgYSBwYXRoIHRvIGEgc2NoZW1hIGZpbGUgb3IgYSBzY2hlbWEgb2JqZWN0LicsXG4gICAgICAgICAgdmFsOiBhcmdTY2hlbWFQYXRoLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb2JsZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXh0TWFuaWZlc3Q8RXh0VHlwZT59IGV4dERhdGFcbiAgICogQHBhcmFtIHtFeHROYW1lPEV4dFR5cGU+fSBleHROYW1lXG4gICAqIEByZXR1cm5zIHtQcm9ibGVtW119XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgZ2V0R2VuZXJpY0NvbmZpZ1Byb2JsZW1zIChleHREYXRhLCBleHROYW1lKSB7XG4gICAgY29uc3Qge3ZlcnNpb24sIHBrZ05hbWUsIGluc3RhbGxTcGVjLCBpbnN0YWxsVHlwZSwgbWFpbkNsYXNzfSA9XG4gICAgICBleHREYXRhO1xuICAgIGNvbnN0IHByb2JsZW1zID0gW107XG5cbiAgICBpZiAoIV8uaXNTdHJpbmcodmVyc2lvbikpIHtcbiAgICAgIHByb2JsZW1zLnB1c2goe2VycjogJ01pc3Npbmcgb3IgaW5jb3JyZWN0IHZlcnNpb24nLCB2YWw6IHZlcnNpb259KTtcbiAgICB9XG5cbiAgICBpZiAoIV8uaXNTdHJpbmcocGtnTmFtZSkpIHtcbiAgICAgIHByb2JsZW1zLnB1c2goe1xuICAgICAgICBlcnI6ICdNaXNzaW5nIG9yIGluY29ycmVjdCBOUE0gcGFja2FnZSBuYW1lJyxcbiAgICAgICAgdmFsOiBwa2dOYW1lLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzU3RyaW5nKGluc3RhbGxTcGVjKSkge1xuICAgICAgcHJvYmxlbXMucHVzaCh7XG4gICAgICAgIGVycjogJ01pc3Npbmcgb3IgaW5jb3JyZWN0IGluc3RhbGxhdGlvbiBzcGVjJyxcbiAgICAgICAgdmFsOiBpbnN0YWxsU3BlYyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghSU5TVEFMTF9UWVBFUy5oYXMoaW5zdGFsbFR5cGUpKSB7XG4gICAgICBwcm9ibGVtcy5wdXNoKHtcbiAgICAgICAgZXJyOiAnTWlzc2luZyBvciBpbmNvcnJlY3QgaW5zdGFsbCB0eXBlJyxcbiAgICAgICAgdmFsOiBpbnN0YWxsVHlwZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghXy5pc1N0cmluZyhtYWluQ2xhc3MpKSB7XG4gICAgICBwcm9ibGVtcy5wdXNoKHtcbiAgICAgICAgZXJyOiAnTWlzc2luZyBvciBpbmNvcnJlY3QgZHJpdmVyIGNsYXNzIG5hbWUnLFxuICAgICAgICB2YWw6IG1haW5DbGFzcyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9ibGVtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdDxFeHRUeXBlPn0gZXh0RGF0YVxuICAgKiBAcmV0dXJucyB7UHJvYmxlbVtdfVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIGdldENvbmZpZ1Byb2JsZW1zIChleHREYXRhKSB7XG4gICAgLy8gc2hvdWQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgaWYgc3BlY2lhbCB2YWxpZGF0aW9uIGlzIG5lY2Vzc2FyeSBmb3IgdGhpcyBleHRlbnNpb24gdHlwZVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZVxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhXG4gICAqIEBwYXJhbSB7RXh0ZW5zaW9uQ29uZmlnTXV0YXRpb25PcHRzfSBbb3B0c11cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBhZGRFeHRlbnNpb24gKGV4dE5hbWUsIGV4dERhdGEsIHt3cml0ZSA9IHRydWV9ID0ge30pIHtcbiAgICB0aGlzLm1hbmlmZXN0LmFkZEV4dGVuc2lvbih0aGlzLmV4dGVuc2lvblR5cGUsIGV4dE5hbWUsIGV4dERhdGEpO1xuICAgIGlmICh3cml0ZSkge1xuICAgICAgYXdhaXQgdGhpcy5tYW5pZmVzdC53cml0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWVcbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdDxFeHRUeXBlPnxpbXBvcnQoJy4uL2NsaS9leHRlbnNpb24tY29tbWFuZCcpLkV4dGVuc2lvbkZpZWxkczxFeHRUeXBlPn0gZXh0RGF0YVxuICAgKiBAcGFyYW0ge0V4dGVuc2lvbkNvbmZpZ011dGF0aW9uT3B0c30gW29wdHNdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgdXBkYXRlRXh0ZW5zaW9uIChleHROYW1lLCBleHREYXRhLCB7d3JpdGUgPSB0cnVlfSA9IHt9KSB7XG4gICAgdGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zW2V4dE5hbWVdID0ge1xuICAgICAgLi4udGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zW2V4dE5hbWVdLFxuICAgICAgLi4uZXh0RGF0YSxcbiAgICB9O1xuICAgIGlmICh3cml0ZSkge1xuICAgICAgYXdhaXQgdGhpcy5tYW5pZmVzdC53cml0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWVcbiAgICogQHBhcmFtIHtFeHRlbnNpb25Db25maWdNdXRhdGlvbk9wdHN9IFtvcHRzXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIHJlbW92ZUV4dGVuc2lvbiAoZXh0TmFtZSwge3dyaXRlID0gdHJ1ZX0gPSB7fSkge1xuICAgIGRlbGV0ZSB0aGlzLmluc3RhbGxlZEV4dGVuc2lvbnNbZXh0TmFtZV07XG4gICAgaWYgKHdyaXRlKSB7XG4gICAgICBhd2FpdCB0aGlzLm1hbmlmZXN0LndyaXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXh0TmFtZTxFeHRUeXBlPltdfSBbYWN0aXZlTmFtZXNdXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIHByaW50IChhY3RpdmVOYW1lcykge1xuICAgIGlmIChfLmlzRW1wdHkodGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zKSkge1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBObyAke3RoaXMuY29uZmlnS2V5fSBoYXZlIGJlZW4gaW5zdGFsbGVkIGluICR7dGhpcy5hcHBpdW1Ib21lfS4gVXNlIHRoZSBcImFwcGl1bSAke3RoaXMuZXh0ZW5zaW9uVHlwZX1cIiBgICtcbiAgICAgICAgICAnY29tbWFuZCB0byBpbnN0YWxsIHRoZSBvbmUocykgeW91IHdhbnQgdG8gdXNlLicsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZy5pbmZvKGBBdmFpbGFibGUgJHt0aGlzLmNvbmZpZ0tleX06YCk7XG4gICAgZm9yIChjb25zdCBbXG4gICAgICBleHROYW1lLFxuICAgICAgZXh0RGF0YSxcbiAgICBdIG9mIC8qKiBAdHlwZSB7W3N0cmluZywgRXh0TWFuaWZlc3Q8RXh0VHlwZT5dW119ICovIChcbiAgICAgICAgXy50b1BhaXJzKHRoaXMuaW5zdGFsbGVkRXh0ZW5zaW9ucylcbiAgICAgICkpIHtcbiAgICAgIGxvZy5pbmZvKGAgIC0gJHt0aGlzLmV4dGVuc2lvbkRlc2MoZXh0TmFtZSwgZXh0RGF0YSl9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgZXh0ZW5zaW9uLiBTdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50LlxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWUgLSBFeHRlbnNpb24gbmFtZVxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhIC0gRXh0ZW5zaW9uIGRhdGFcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICogQGFic3RyYWN0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgZXh0ZW5zaW9uRGVzYyAoZXh0TmFtZSwgZXh0RGF0YSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBtdXN0IGJlIGltcGxlbWVudGVkIGluIGEgc3ViY2xhc3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0SW5zdGFsbFBhdGggKGV4dE5hbWUpIHtcbiAgICByZXR1cm4gcGF0aC5qb2luKHRoaXMuYXBwaXVtSG9tZSwgJ25vZGVfbW9kdWxlcycsIHRoaXMuaW5zdGFsbGVkRXh0ZW5zaW9uc1tleHROYW1lXS5wa2dOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBleHRlbnNpb24gYW5kIHJldHVybnMgaXRzIG1haW4gY2xhc3MgKGNvbnN0cnVjdG9yKVxuICAgKiBAcGFyYW0ge0V4dE5hbWU8RXh0VHlwZT59IGV4dE5hbWVcbiAgICogQHJldHVybnMge0V4dENsYXNzPEV4dFR5cGU+fVxuICAgKi9cbiAgcmVxdWlyZSAoZXh0TmFtZSkge1xuICAgIGNvbnN0IHttYWluQ2xhc3N9ID0gdGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zW2V4dE5hbWVdO1xuICAgIGNvbnN0IHJlcVBhdGggPSB0aGlzLmdldEluc3RhbGxQYXRoKGV4dE5hbWUpO1xuICAgIGNvbnN0IHJlcVJlc29sdmVkID0gcmVxdWlyZS5yZXNvbHZlKHJlcVBhdGgpO1xuICAgIC8vIG5vdGU6IHRoaXMgd2lsbCBvbmx5IHJlbG9hZCB0aGUgZW50cnkgcG9pbnRcbiAgICBpZiAocHJvY2Vzcy5lbnYuQVBQSVVNX1JFTE9BRF9FWFRFTlNJT05TICYmIHJlcXVpcmUuY2FjaGVbcmVxUmVzb2x2ZWRdKSB7XG4gICAgICBsb2cuZGVidWcoYFJlbW92aW5nICR7cmVxUmVzb2x2ZWR9IGZyb20gcmVxdWlyZSBjYWNoZWApO1xuICAgICAgZGVsZXRlIHJlcXVpcmUuY2FjaGVbcmVxUmVzb2x2ZWRdO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYFJlcXVpcmluZyAke3RoaXMuZXh0ZW5zaW9uVHlwZX0gYXQgJHtyZXFQYXRofWApO1xuICAgIHJldHVybiByZXF1aXJlKHJlcVBhdGgpW21haW5DbGFzc107XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dE5hbWVcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBpc0luc3RhbGxlZCAoZXh0TmFtZSkge1xuICAgIHJldHVybiBfLmluY2x1ZGVzKE9iamVjdC5rZXlzKHRoaXMuaW5zdGFsbGVkRXh0ZW5zaW9ucyksIGV4dE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVuZGVkIHRvIGJlIGNhbGxlZCBieSBjb3JyZXNwb25kaW5nIGluc3RhbmNlIG1ldGhvZHMgb2Ygc3ViY2xhc3MuXG4gICAqIEBwcml2YXRlXG4gICAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBwaXVtSG9tZVxuICAgKiBAcGFyYW0ge0V4dFR5cGV9IGV4dFR5cGVcbiAgICogQHBhcmFtIHtFeHROYW1lPEV4dFR5cGU+fSBleHROYW1lIC0gRXh0ZW5zaW9uIG5hbWUgKHVuaXF1ZSB0byBpdHMgdHlwZSlcbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdFdpdGhTY2hlbWE8RXh0VHlwZT59IGV4dERhdGEgLSBFeHRlbnNpb24gY29uZmlnXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoJ2FqdicpLlNjaGVtYU9iamVjdHx1bmRlZmluZWR9XG4gICAqL1xuICBzdGF0aWMgX3JlYWRFeHRlbnNpb25TY2hlbWEgKGFwcGl1bUhvbWUsIGV4dFR5cGUsIGV4dE5hbWUsIGV4dERhdGEpIHtcbiAgICBjb25zdCB7cGtnTmFtZSwgc2NoZW1hOiBhcmdTY2hlbWFQYXRofSA9IGV4dERhdGE7XG4gICAgaWYgKCFhcmdTY2hlbWFQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgTm8gXFxgc2NoZW1hXFxgIHByb3BlcnR5IGZvdW5kIGluIGNvbmZpZyBmb3IgJHtleHRUeXBlfSAke3BrZ05hbWV9IC0tIHdoeSBpcyB0aGlzIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZD9gLFxuICAgICAgKTtcbiAgICB9XG4gICAgbGV0IG1vZHVsZU9iamVjdDtcbiAgICBpZiAoXy5pc1N0cmluZyhhcmdTY2hlbWFQYXRoKSkge1xuICAgICAgY29uc3Qgc2NoZW1hUGF0aCA9IHJlc29sdmVGcm9tKGFwcGl1bUhvbWUsIHBhdGguam9pbihwa2dOYW1lLCBhcmdTY2hlbWFQYXRoKSk7XG4gICAgICBtb2R1bGVPYmplY3QgPSByZXF1aXJlKHNjaGVtYVBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtb2R1bGVPYmplY3QgPSBhcmdTY2hlbWFQYXRoO1xuICAgIH1cbiAgICAvLyB0aGlzIHN1Y2tzLiBkZWZhdWx0IGV4cG9ydHMgc2hvdWxkIGJlIGRlc3Ryb3llZFxuICAgIGNvbnN0IHNjaGVtYSA9IG1vZHVsZU9iamVjdC5fX2VzTW9kdWxlXG4gICAgICA/IG1vZHVsZU9iamVjdC5kZWZhdWx0XG4gICAgICA6IG1vZHVsZU9iamVjdDtcbiAgICByZWdpc3RlclNjaGVtYShleHRUeXBlLCBleHROYW1lLCBzY2hlbWEpO1xuICAgIHJldHVybiBzY2hlbWE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBgdHJ1ZWAgaWYgYSBzcGVjaWZpYyB7QGxpbmsgRXh0TWFuaWZlc3R9IG9iamVjdCBoYXMgYSBgc2NoZW1hYCBwcm9wLlxuICAgKiBUaGUge0BsaW5rIEV4dE1hbmlmZXN0fSBvYmplY3QgYmVjb21lcyBhIHtAbGluayBFeHRNYW5pZmVzdFdpdGhTY2hlbWF9IG9iamVjdC5cbiAgICogQHRlbXBsYXRlIHtFeHRlbnNpb25UeXBlfSBFeHRUeXBlXG4gICAqIEBwYXJhbSB7RXh0TWFuaWZlc3Q8RXh0VHlwZT59IGV4dERhdGFcbiAgICogQHJldHVybnMge2V4dERhdGEgaXMgRXh0TWFuaWZlc3RXaXRoU2NoZW1hPEV4dFR5cGU+fVxuICAgKi9cbiAgc3RhdGljIGV4dERhdGFIYXNTY2hlbWEgKGV4dERhdGEpIHtcbiAgICByZXR1cm4gXy5pc1N0cmluZyhleHREYXRhPy5zY2hlbWEpIHx8IF8uaXNPYmplY3QoZXh0RGF0YT8uc2NoZW1hKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBhbiBleHRlbnNpb24gcHJvdmlkZXMgYSBzY2hlbWEsIHRoaXMgd2lsbCBsb2FkIHRoZSBzY2hlbWEgYW5kIGF0dGVtcHQgdG9cbiAgICogcmVnaXN0ZXIgaXQgd2l0aCB0aGUgc2NoZW1hIHJlZ2lzdHJhci5cbiAgICogQHBhcmFtIHtFeHROYW1lPEV4dFR5cGU+fSBleHROYW1lIC0gTmFtZSBvZiBleHRlbnNpb25cbiAgICogQHBhcmFtIHtFeHRNYW5pZmVzdFdpdGhTY2hlbWE8RXh0VHlwZT59IGV4dERhdGEgLSBFeHRlbnNpb24gZGF0YVxuICAgKiBAcmV0dXJucyB7aW1wb3J0KCdhanYnKS5TY2hlbWFPYmplY3R8dW5kZWZpbmVkfVxuICAgKi9cbiAgcmVhZEV4dGVuc2lvblNjaGVtYSAoZXh0TmFtZSwgZXh0RGF0YSkge1xuICAgIHJldHVybiBFeHRlbnNpb25Db25maWcuX3JlYWRFeHRlbnNpb25TY2hlbWEoXG4gICAgICB0aGlzLmFwcGl1bUhvbWUsXG4gICAgICB0aGlzLmV4dGVuc2lvblR5cGUsXG4gICAgICBleHROYW1lLFxuICAgICAgZXh0RGF0YSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7XG4gIElOU1RBTExfVFlQRV9OUE0sXG4gIElOU1RBTExfVFlQRV9HSVQsXG4gIElOU1RBTExfVFlQRV9MT0NBTCxcbiAgSU5TVEFMTF9UWVBFX0dJVEhVQixcbiAgSU5TVEFMTF9UWVBFUyxcbn07XG5cbi8qKlxuICogQ29uZmlnIHByb2JsZW1cbiAqIEB0eXBlZGVmIFByb2JsZW1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBlcnIgLSBFcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge2FueX0gdmFsIC0gQXNzb2NpYXRlZCB2YWx1ZVxuICovXG5cbi8qKlxuICogQW4gb3B0aW9uYWwgbG9nZ2luZyBmdW5jdGlvbiBwcm92aWRlZCB0byBhbiB7QGxpbmsgRXh0ZW5zaW9uQ29uZmlnfSBzdWJjbGFzcy5cbiAqIEBjYWxsYmFjayBFeHRlbnNpb25Mb2dGblxuICogQHBhcmFtIHsuLi5hbnl9IGFyZ3NcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMnKS5FeHRlbnNpb25UeXBlfSBFeHRlbnNpb25UeXBlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL21hbmlmZXN0JykuTWFuaWZlc3R9IE1hbmlmZXN0XG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0TWFuaWZlc3Q8VD59IEV4dE1hbmlmZXN0XG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0TWFuaWZlc3RXaXRoU2NoZW1hPFQ+fSBFeHRNYW5pZmVzdFdpdGhTY2hlbWFcbiAqL1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi8uLi90eXBlcy9hcHBpdW0tbWFuaWZlc3QnKS5FeHROYW1lPFQ+fSBFeHROYW1lXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvZXh0ZW5zaW9uJykuRXh0Q2xhc3M8VD59IEV4dENsYXNzXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0UmVjb3JkPFQ+fSBFeHRSZWNvcmRcbiAqL1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHZhcmlvdXMgbWV0aG9kcyBpbiB7QGxpbmsgRXh0ZW5zaW9uQ29uZmlnfVxuICogQHR5cGVkZWYgRXh0ZW5zaW9uQ29uZmlnTXV0YXRpb25PcHRzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt3cml0ZT10cnVlXSBXaGV0aGVyIG9yIG5vdCB0byB3cml0ZSB0aGUgbWFuaWZlc3QgdG8gZGlzayBhZnRlciBhIG11dGF0aW9uIG9wZXJhdGlvblxuICovXG5cbi8qKlxuICogQSB2YWxpZCBpbnN0YWxsIHR5cGVcbiAqIEB0eXBlZGVmIHt0eXBlb2YgSU5TVEFMTF9UWVBFX05QTSB8IHR5cGVvZiBJTlNUQUxMX1RZUEVfR0lUIHwgdHlwZW9mIElOU1RBTExfVFlQRV9MT0NBTCB8IHR5cGVvZiBJTlNUQUxMX1RZUEVfR0lUSFVCfSBJbnN0YWxsVHlwZVxuICovXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBTUEsTUFBTUEsZ0JB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
|
|
@@ -74,4 +74,4 @@ function getActiveDrivers(driverConfig, useDrivers = []) {
|
|
|
74
74
|
}
|
|
75
75
|
}));
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2FkRXh0ZW5zaW9ucyIsImFwcGl1bUhvbWUiLCJtYW5pZmVzdCIsIk1hbmlmZXN0IiwiZ2V0SW5zdGFuY2UiLCJkcml2ZXJzIiwicGx1Z2lucyIsInJlYWQiLCJkcml2ZXJDb25maWciLCJEcml2ZXJDb25maWciLCJjcmVhdGUiLCJleHREYXRhIiwicGx1Z2luQ29uZmlnIiwiUGx1Z2luQ29uZmlnIiwiZ2V0QWN0aXZlUGx1Z2lucyIsInVzZVBsdWdpbnMiLCJfIiwiY29tcGFjdCIsIk9iamVjdCIsImtleXMiLCJpbnN0YWxsZWRFeHRlbnNpb25zIiwiZmlsdGVyIiwicGx1Z2luTmFtZSIsImluY2x1ZGVzIiwibGVuZ3RoIiwiVVNFX0FMTF9QTFVHSU5TIiwibWFwIiwibG9nIiwiaW5mbyIsIlBsdWdpbkNsYXNzIiwicmVxdWlyZSIsImVyciIsImVycm9yIiwibWVzc2FnZSIsImRlYnVnIiwic3RhY2siLCJnZXRBY3RpdmVEcml2ZXJzIiwidXNlRHJpdmVycyIsImRyaXZlck5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZXh0ZW5zaW9uL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFVTRV9BTExfUExVR0lOUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBEcml2ZXJDb25maWcgfSBmcm9tICcuL2RyaXZlci1jb25maWcnO1xuaW1wb3J0IHsgTWFuaWZlc3QgfSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vcGx1Z2luLWNvbmZpZyc7XG5cbi8qKlxuICogTG9hZHMgZXh0ZW5zaW9ucyBhbmQgY3JlYXRlcyBgRXh0ZW5zaW9uQ29uZmlnYCBpbnN0YW5jZXMuXG4gKlxuICogLSBSZWFkcyB0aGUgbWFuaWZlc3QgZmlsZSwgY3JlYXRpbmcgaWYgbmVjZXNzYXJ5XG4gKiAtIFVzaW5nIHRoZSBwYXJzZWQgZXh0ZW5zaW9uIGRhdGEsIGNyZWF0ZXMvZ2V0cyB0aGUgYEV4dGVuc2lvbkNvbmZpZ2Agc3ViY2xhc3MgaW5zdGFuY2VzXG4gKiAtIFJldHVybnMgdGhlc2UgaW5zdGFuY2VzXG4gKlxuICogSWYgYGFwcGl1bUhvbWVgIGlzIG5lZWRlZCwgdXNlIGByZXNvbHZlQXBwaXVtSG9tZWAgZnJvbSB0aGUgYGVudmAgbW9kdWxlIGluIGBAYXBwaXVtL3N1cHBvcnRgLlxuICogQHBhcmFtIHtzdHJpbmd9IGFwcGl1bUhvbWVcbiAqIEByZXR1cm5zIHtQcm9taXNlPEV4dGVuc2lvbkNvbmZpZ3M+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEV4dGVuc2lvbnMgKGFwcGl1bUhvbWUpIHtcbiAgY29uc3QgbWFuaWZlc3QgPSBNYW5pZmVzdC5nZXRJbnN0YW5jZShhcHBpdW1Ib21lKTtcbiAgY29uc3Qge2RyaXZlcnMsIHBsdWdpbnN9ID0gYXdhaXQgbWFuaWZlc3QucmVhZCgpO1xuICBjb25zdCBkcml2ZXJDb25maWcgPVxuICAgIERyaXZlckNvbmZpZy5nZXRJbnN0YW5jZShtYW5pZmVzdCkgPz9cbiAgICBEcml2ZXJDb25maWcuY3JlYXRlKG1hbmlmZXN0LCB7ZXh0RGF0YTogZHJpdmVyc30pO1xuICBjb25zdCBwbHVnaW5Db25maWcgPVxuICAgIFBsdWdpbkNvbmZpZy5nZXRJbnN0YW5jZShtYW5pZmVzdCkgPz9cbiAgICBQbHVnaW5Db25maWcuY3JlYXRlKG1hbmlmZXN0LCB7ZXh0RGF0YTogcGx1Z2luc30pO1xuICByZXR1cm4ge2RyaXZlckNvbmZpZywgcGx1Z2luQ29uZmlnfTtcbn1cblxuLyoqXG4gKiBGaW5kIGFueSBwbHVnaW4gbmFtZSB3aGljaCBoYXMgYmVlbiBpbnN0YWxsZWQsIGFuZCB3aGljaCBoYXMgYmVlbiByZXF1ZXN0ZWQgZm9yIGFjdGl2YXRpb24gYnlcbiAqIHVzaW5nIHRoZSAtLXVzZS1wbHVnaW5zIGZsYWcsIGFuZCB0dXJuIGVhY2ggb25lIGludG8gaXRzIGNsYXNzLCBzbyB3ZSBjYW4gc2VuZCB0aGVtIGFzIG9iamVjdHNcbiAqIHRvIHRoZSBzZXJ2ZXIgaW5pdC4gV2UgYWxzbyB3YW50IHRvIHNlbmQvYXNzaWduIHRoZW0gdG8gdGhlIHVtYnJlbGxhIGRyaXZlciBzbyBpdCBjYW4gdXNlIHRoZW1cbiAqIHRvIHdyYXAgY29tbWFuZCBleGVjdXRpb25cbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wbHVnaW4tY29uZmlnJykuUGx1Z2luQ29uZmlnfSBwbHVnaW5Db25maWcgLSBhIHBsdWdpbiBleHRlbnNpb24gY29uZmlnXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSB1c2VQbHVnaW5zXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuLi8uLi90eXBlcycpLlBsdWdpbkNsYXNzW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3RpdmVQbHVnaW5zIChwbHVnaW5Db25maWcsIHVzZVBsdWdpbnMgPSBbXSkge1xuICByZXR1cm4gXy5jb21wYWN0KFxuICAgIE9iamVjdC5rZXlzKHBsdWdpbkNvbmZpZy5pbnN0YWxsZWRFeHRlbnNpb25zKVxuICAgICAgLmZpbHRlcihcbiAgICAgICAgKHBsdWdpbk5hbWUpID0+XG4gICAgICAgICAgXy5pbmNsdWRlcyh1c2VQbHVnaW5zLCBwbHVnaW5OYW1lKSB8fFxuICAgICAgICAgICh1c2VQbHVnaW5zLmxlbmd0aCA9PT0gMSAmJiB1c2VQbHVnaW5zWzBdID09PSBVU0VfQUxMX1BMVUdJTlMpLFxuICAgICAgKVxuICAgICAgLm1hcCgocGx1Z2luTmFtZSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGxvZy5pbmZvKGBBdHRlbXB0aW5nIHRvIGxvYWQgcGx1Z2luICR7cGx1Z2luTmFtZX0uLi5gKTtcbiAgICAgICAgICBjb25zdCBQbHVnaW5DbGFzcyA9IHBsdWdpbkNvbmZpZy5yZXF1aXJlKHBsdWdpbk5hbWUpO1xuXG4gICAgICAgICAgUGx1Z2luQ2xhc3MucGx1Z2luTmFtZSA9IHBsdWdpbk5hbWU7IC8vIHN0b3JlIHRoZSBwbHVnaW4gbmFtZSBvbiB0aGUgY2xhc3Mgc28gaXQgY2FuIGJlIHVzZWQgbGF0ZXJcbiAgICAgICAgICByZXR1cm4gUGx1Z2luQ2xhc3M7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgIGBDb3VsZCBub3QgbG9hZCBwbHVnaW4gJyR7cGx1Z2luTmFtZX0nLCBzbyBpdCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuIEVycm9yIGAgK1xuICAgICAgICAgICAgICBgaW4gbG9hZGluZyB0aGUgcGx1Z2luIHdhczogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICAgICk7XG4gICAgICAgICAgbG9nLmRlYnVnKGVyci5zdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICApO1xufVxuXG4vKipcbiAqIEZpbmQgYW55IGRyaXZlciBuYW1lIHdoaWNoIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHR1cm4gZWFjaCBvbmUgaW50byBpdHMgY2xhc3MsIHNvIHdlIGNhbiBzZW5kXG4gKiB0aGVtIGFzIG9iamVjdHMgdG8gdGhlIHNlcnZlciBpbml0IGluIGNhc2UgdGhleSBuZWVkIHRvIGFkZCBtZXRob2RzL3JvdXRlcyBvciB1cGRhdGUgdGhlIHNlcnZlci5cbiAqIElmIHRoZSAtLWRyaXZlcnMgZmxhZyB3YXMgZ2l2ZW4sIHRoaXMgbWV0aG9kIG9ubHkgbG9hZHMgdGhlIGdpdmVuIGRyaXZlcnMuXG4gKlxuICogQHBhcmFtIHtpbXBvcnQoJy4vZHJpdmVyLWNvbmZpZycpLkRyaXZlckNvbmZpZ30gZHJpdmVyQ29uZmlnIC0gYSBkcml2ZXIgZXh0ZW5zaW9uIGNvbmZpZ1xuICogQHBhcmFtIHtzdHJpbmdbXX0gW3VzZURyaXZlcnNdIC0gb3B0aW9uYWwgbGlzdCBvZiBkcml2ZXJzIHRvIGxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGl2ZURyaXZlcnMgKGRyaXZlckNvbmZpZywgdXNlRHJpdmVycyA9IFtdKSB7XG4gIHJldHVybiBfLmNvbXBhY3QoXG4gICAgT2JqZWN0LmtleXMoZHJpdmVyQ29uZmlnLmluc3RhbGxlZEV4dGVuc2lvbnMpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZHJpdmVyTmFtZSkgPT5cbiAgICAgICAgICBfLmluY2x1ZGVzKHVzZURyaXZlcnMsIGRyaXZlck5hbWUpIHx8IHVzZURyaXZlcnMubGVuZ3RoID09PSAwLFxuICAgICAgKVxuICAgICAgLm1hcCgoZHJpdmVyTmFtZSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGxvZy5pbmZvKGBBdHRlbXB0aW5nIHRvIGxvYWQgZHJpdmVyICR7ZHJpdmVyTmFtZX0uLi5gKTtcbiAgICAgICAgICByZXR1cm4gZHJpdmVyQ29uZmlnLnJlcXVpcmUoZHJpdmVyTmFtZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgIGBDb3VsZCBub3QgbG9hZCBkcml2ZXIgJyR7ZHJpdmVyTmFtZX0nLCBzbyBpdCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuIEVycm9yIGAgK1xuICAgICAgICAgICAgICBgaW4gbG9hZGluZyB0aGUgZHJpdmVyIHdhczogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICAgICk7XG4gICAgICAgICAgbG9nLmRlYnVnKGVyci5zdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICApO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIEV4dGVuc2lvbkNvbmZpZ3NcbiAqIEBwcm9wZXJ0eSB7RHJpdmVyQ29uZmlnfSBkcml2ZXJDb25maWdcbiAqIEBwcm9wZXJ0eSB7UGx1Z2luQ29uZmlnfSBwbHVnaW5Db25maWdcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBYU8sZUFBZUEsY0FBZixDQUErQkMsVUFBL0IsRUFBMkM7RUFBQTs7RUFDaEQsTUFBTUMsUUFBUSxHQUFH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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../lib/extension/manifest.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../lib/extension/manifest.js"],"names":[],"mappings":"AAmGA;;;;GAIG;AACH;IA4DE;;;;;;OAMG;IACH,yEAIG;IAvBH;;;;;;OAMG;IACH,sBAGC;IAzDD;;;;;;OAMG;IACH,cAAM;IAEN;;;;OAIG;IACH,oBAAY;IAEZ;;;;OAIG;IACH,eAHU,MAAM,CAGF;IAEd;;;;;;;;;OASG;IACH,iBAAS;IAET;;;;;;;;;OASG;IACH,iBAAS;IA2BT;;;;OAIG;IACH,6CAHW,+BAA+B,GAC7B,QAAQ,OAAO,CAAC,CA0B5B;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;;;;;OAQG;IACH,wHAHW,MAAM,GACJ,OAAO,CAsCnB;IAED;;;;;;;;;;OAUG;IACH,iGAJW,MAAM,oCAEJ,IAAI,CAIhB;IAED;;OAEG;IACH,yBAEC;IAED;;OAEG;IACH,2BAEC;IAED;;;;;;OAMG;IACH,kHAEC;IAED;;;;;;;;;OASG;IACH,QAFa,QAAQ,YAAY,CAAC,CAsDjC;IAED;;;;;;OAMG;IACH,yBAaC;IAED;;;;;;;OAOG;IACH,SAFa,QAAQ,OAAO,CAAC,CAoC5B;CACF;;;;yBAIY,OAAO,aAAa,EAAE,UAAU;;;;yBAKhC,OAAO,aAAa,EAAE,UAAU;;;;;;;2BAShC,OAAO,6BAA6B,EAAE,YAAY;+BAClD,OAAO,6BAA6B,EAAE,gBAAgB;gCAKtD,OAAO,+BAA+B,EAAE,cAAc,CAAC,CAAC,CAAC;6BAKzD,OAAO,6BAA6B,EAAE,WAAW,CAAC,CAAC,CAAC;2BAKpD,OAAO,6BAA6B,EAAE,SAAS,CAAC,CAAC,CAAC;;;;4BAKlD,OAAO,aAAa,EAAE,aAAa"}
|
|
@@ -243,4 +243,4 @@ class Manifest {
|
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
exports.Manifest = Manifest;
|
|
246
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9leHRlbnNpb24vbWFuaWZlc3QuanMiXSwibmFtZXMiOlsiREVGQVVMVF9TRUFSQ0hfREVQVEgiLCJERUZBVUxUX0ZJTkRfRVhURU5TSU9OU19PUFRTIiwiT2JqZWN0IiwiZnJlZXplIiwiZGVwdGhMaW1pdCIsImZpbHRlciIsImZpbGVwYXRoIiwicGF0aCIsImJhc2VuYW1lIiwic3RhcnRzV2l0aCIsIkNPTkZJR19TQ0hFTUFfUkVWIiwiQ09ORklHX0RBVEFfRFJJVkVSX0tFWSIsIkRSSVZFUl9UWVBFIiwiQ09ORklHX0RBVEFfUExVR0lOX0tFWSIsIlBMVUdJTl9UWVBFIiwiSU5JVElBTF9NQU5JRkVTVF9EQVRBIiwic2NoZW1hUmV2IiwiaXNFeHRlbnNpb24iLCJ2YWx1ZSIsIl8iLCJpc1BsYWluT2JqZWN0IiwiYXBwaXVtIiwiaXNTdHJpbmciLCJuYW1lIiwidmVyc2lvbiIsImlzRHJpdmVyIiwiZ2V0IiwiaXNBcnJheSIsImlzUGx1Z2luIiwiTWFuaWZlc3QiLCJfZGF0YSIsIl9hcHBpdW1Ib21lIiwiX21hbmlmZXN0UGF0aCIsIl93cml0aW5nIiwiX3JlYWRpbmciLCJjb25zdHJ1Y3RvciIsImFwcGl1bUhvbWUiLCJjbG9uZURlZXAiLCJnZXRJbnN0YW5jZSIsIm1lbW9pemUiLCJfZ2V0SW5zdGFuY2UiLCJzeW5jV2l0aEluc3RhbGxlZEV4dGVuc2lvbnMiLCJ3YWxrT3B0cyIsImRlZmF1bHRzIiwiZGlkQ2hhbmdlIiwic3RhdHMiLCJmcyIsIndhbGsiLCJpc0RpcmVjdG9yeSIsInBrZyIsImVudiIsInJlYWRQYWNrYWdlSW5EaXIiLCJhZGRlZCIsImFkZEV4dGVuc2lvbkZyb21QYWNrYWdlIiwiam9pbiIsImhhc0RyaXZlciIsIkJvb2xlYW4iLCJkcml2ZXJzIiwiaGFzUGx1Z2luIiwicGx1Z2lucyIsInBrZ0pzb24iLCJwa2dQYXRoIiwiaW50ZXJuYWwiLCJwa2dOYW1lIiwiaW5zdGFsbFR5cGUiLCJJTlNUQUxMX1RZUEVfTlBNIiwiaW5zdGFsbFNwZWMiLCJkcml2ZXJOYW1lIiwiYWRkRXh0ZW5zaW9uIiwib21pdCIsInBsdWdpbk5hbWUiLCJUeXBlRXJyb3IiLCJkaXJuYW1lIiwiZXh0VHlwZSIsImV4dE5hbWUiLCJleHREYXRhIiwibWFuaWZlc3RQYXRoIiwiZ2V0RXh0ZW5zaW9uRGF0YSIsInJlYWQiLCJkYXRhIiwiaXNOZXdGaWxlIiwiX3NldE1hbmlmZXN0UGF0aCIsImxvZyIsImRlYnVnIiwieWFtbCIsInJlYWRGaWxlIiwiWUFNTCIsInBhcnNlIiwiZXJyIiwiY29kZSIsIkVycm9yIiwibWVzc2FnZSIsImluc3RhbGxlZEV4dGVuc2lvbnNDaGFuZ2VkIiwiaGFzQXBwaXVtRGVwZW5kZW5jeSIsIndyaXRlIiwidW5kZWZpbmVkIiwicmVzb2x2ZU1hbmlmZXN0UGF0aCIsInJlbGF0aXZlIiwibWtkaXJwIiwid3JpdGVGaWxlIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU9BLE1BQU1BLG9CQUFvQixHQUFHLENBQTdCO0FBTUEsTUFBTUMsNEJBQTRCLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjO0FBQ2pEQyxFQUFBQSxVQUFVLEVBQUVKLG9CQURxQztBQUdqREssRUFBQUEsTUFBTSxFQUFHQyxRQUFELElBQWMsQ0FBQ0MsY0FBS0MsUUFBTCxDQUFjRixRQUFkLEVBQXdCRyxVQUF4QixDQUFtQyxHQUFuQztBQUgwQixDQUFkLENBQXJDO0FBU0EsTUFBTUMsaUJBQWlCLEdBQUcsQ0FBMUI7QUFNQSxNQUFNQyxzQkFBc0IsR0FBSSxHQUFFQyxzQkFBWSxHQUE5QztBQU1BLE1BQU1DLHNCQUFzQixHQUFJLEdBQUVDLHNCQUFZLEdBQTlDO0FBS0EsTUFBTUMscUJBQXFCLEdBQUdiLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjO0FBQzFDLEdBQUNRLHNCQUFELEdBQTBCVCxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFk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LE9BQU8wRCxHQUFQLEVBQVk7QUFDWixjQUFNLElBQUlFLEtBQUosQ0FDSCx5Q0FBd0MsS0FBSzFELGFBQWMsc0JBQXFCLEtBQUtELFdBQVksSUFBbEcsR0FDRyxpREFBZ0R5RCxHQUFHLENBQUNHLE9BQVEsRUFGM0QsQ0FBTjtBQUlEO0FBQ0YsS0F4QmUsR0FBaEI7O0FBeUJBLFFBQUk7QUFDRixhQUFPLE1BQU0sS0FBSzFELFFBQWxCO0FBQ0QsS0FGRCxTQUVVO0FBQ1IsV0FBS0EsUUFBTCxHQUFnQjhELFNBQWhCO0FBQ0Q7QUFDRjs7QUFqVm1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL3R5cGVzL2FwcGl1bS1tYW5pZmVzdC5kLnRzXCIgLz5cblxuLyoqXG4gKiBNb2R1bGUgY29udGFpbmluZyB7QGxpbmsgTWFuaWZlc3R9IHdoaWNoIGhhbmRsZXMgcmVhZGluZyAmIHdyaXRpbmcgb2YgZXh0ZW5zaW9uIGNvbmZpZyBmaWxlcy5cbiAqL1xuXG5pbXBvcnQgeyBlbnYsIGZzIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBZQU1MIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgRFJJVkVSX1RZUEUsIFBMVUdJTl9UWVBFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IElOU1RBTExfVFlQRV9OUE0gfSBmcm9tICcuL2V4dGVuc2lvbi1jb25maWcnO1xuaW1wb3J0IHsgcGFja2FnZURpZENoYW5nZSB9IGZyb20gJy4vcGFja2FnZS1jaGFuZ2VkJztcblxuLyoqXG4gKiBEZWZhdWx0IGRlcHRoIHRvIHNlYXJjaCBpbiBkaXJlY3RvcnkgdHJlZSBmb3Igd2hhdGV2ZXIgaXQgaXMgd2UncmUgbG9va2luZyBmb3IuXG4gKlxuICogSXQncyA0IGJlY2F1c2Ugc21hbGxlciBudW1iZXJzIGRpZG4ndCB3b3JrLlxuICovXG5jb25zdCBERUZBVUxUX1NFQVJDSF9ERVBUSCA9IDQ7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciB7QGxpbmsgZmluZEV4dGVuc2lvbnN9LlxuICogQHR5cGUge1JlYWRvbmx5PGltcG9ydCgna2xhdycpLk9wdGlvbnM+fVxuICovXG5jb25zdCBERUZBVUxUX0ZJTkRfRVhURU5TSU9OU19PUFRTID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGRlcHRoTGltaXQ6IERFRkFVTFRfU0VBUkNIX0RFUFRILFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBmaWx0ZXI6IChmaWxlcGF0aCkgPT4gIXBhdGguYmFzZW5hbWUoZmlsZXBhdGgpLnN0YXJ0c1dpdGgoJy4nKSxcbn0pO1xuXG4vKipcbiAqIEN1cnJlbnQgY29uZmlndXJhdGlvbiBzY2hlbWEgcmV2aXNpb24hXG4gKi9cbmNvbnN0IENPTkZJR19TQ0hFTUFfUkVWID0gMjtcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgcHJvcCAoYGRyaXZlcnNgKSB1c2VkIGluIGBleHRlbnNpb25zLnlhbWxgIGZvciBkcml2ZXJzLlxuICogQHR5cGUge2Ake3R5cGVvZiBEUklWRVJfVFlQRX1zYH1cbiAqL1xuY29uc3QgQ09ORklHX0RBVEFfRFJJVkVSX0tFWSA9IGAke0RSSVZFUl9UWVBFfXNgO1xuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBwcm9wIChgcGx1Z2luc2ApIHVzZWQgaW4gYGV4dGVuc2lvbnMueWFtbGAgZm9yIHBsdWdpbnMuXG4gKiBAdHlwZSB7YCR7dHlwZW9mIFBMVUdJTl9UWVBFfXNgfVxuICovXG5jb25zdCBDT05GSUdfREFUQV9QTFVHSU5fS0VZID0gYCR7UExVR0lOX1RZUEV9c2A7XG5cbi8qKlxuICogQHR5cGUge1JlYWRvbmx5PE1hbmlmZXN0RGF0YT59XG4gKi9cbmNvbnN0IElOSVRJQUxfTUFOSUZFU1RfREFUQSA9IE9iamVjdC5mcmVlemUoe1xuICBbQ09ORklHX0RBVEFfRFJJVkVSX0tFWV06IE9iamVjdC5mcmVlemUoe30pLFxuICBbQ09ORklHX0RBVEFfUExVR0lOX0tFWV06IE9iamVjdC5mcmVlemUoe30pLFxuICBzY2hlbWFSZXY6IENPTkZJR19TQ0hFTUFfUkVWLFxufSk7XG5cbi8qKlxuICogR2l2ZW4gYSBgcGFja2FnZS5qc29uYCByZXR1cm4gYHRydWVgIGlmIGl0IHJlcHJlc2VudHMgYW4gQXBwaXVtIEV4dGVuc2lvbiAoZWl0aGVyIGEgZHJpdmVyIG9yIHBsdWdpbikuXG4gKlxuICogVGhlIGBwYWNrYWdlLmpzb25gIG11c3QgaGF2ZSBhbiBgYXBwaXVtYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBvYmplY3QuXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyBFeHRQYWNrYWdlSnNvbjxFeHRlbnNpb25UeXBlPn1cbiAqL1xuZnVuY3Rpb24gaXNFeHRlbnNpb24gKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgXy5pc1BsYWluT2JqZWN0KHZhbHVlKSAmJlxuICAgIF8uaXNQbGFpbk9iamVjdCh2YWx1ZS5hcHBpdW0pICYmXG4gICAgXy5pc1N0cmluZyh2YWx1ZS5uYW1lKSAmJlxuICAgIF8uaXNTdHJpbmcodmFsdWUudmVyc2lvbilcbiAgKTtcbn1cbi8qKlxuICogR2l2ZW4gYSBgcGFja2FnZS5qc29uYCwgcmV0dXJuIGB0cnVlYCBpZiBpdCByZXByZXNlbnRzIGFuIEFwcGl1bSBEcml2ZXIuXG4gKlxuICogVG8gYmUgY29uc2lkZXJlZCBhIGRyaXZlciwgYSBgcGFja2FnZS5qc29uYCBtdXN0IGhhdmUgYSBmaWVsZHNcbiAqIGBhcHBpdW0uZHJpdmVyTmFtZWAsIGBhcHBpdW0uYXV0b21hdGlvbk5hbWVgIGFuZCBgYXBwaXVtLnBsYXRmb3JtTmFtZXNgLlxuICogQHBhcmFtIHthbnl9IHZhbHVlIC0gVmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge3ZhbHVlIGlzIEV4dFBhY2thZ2VKc29uPERyaXZlclR5cGU+fVxuICovXG5mdW5jdGlvbiBpc0RyaXZlciAodmFsdWUpIHtcbiAgcmV0dXJuIChcbiAgICBpc0V4dGVuc2lvbih2YWx1ZSkgJiZcbiAgICBfLmlzU3RyaW5nKF8uZ2V0KHZhbHVlLCAnYXBwaXVtLmRyaXZlck5hbWUnKSkgJiZcbiAgICBfLmlzU3RyaW5nKF8uZ2V0KHZhbHVlLCAnYXBwaXVtLmF1dG9tYXRpb25OYW1lJykpICYmXG4gICAgXy5pc0FycmF5KF8uZ2V0KHZhbHVlLCAnYXBwaXVtLnBsYXRmb3JtTmFtZXMnKSlcbiAgKTtcbn1cblxuLyoqXG4gKiBHaXZlbiBhIGBwYWNrYWdlLmpzb25gLCByZXR1cm4gYHRydWVgIGlmIGl0IHJlcHJlc2VudHMgYW4gQXBwaXVtIFBsdWdpbi5cbiAqXG4gKiBUbyBiZSBjb25zaWRlcmVkIGEgcGx1Z2luLCBhIGBwYWNrYWdlLmpzb25gIG11c3QgaGF2ZSBhbiBgYXBwaXVtLnBsdWdpbk5hbWVgIGZpZWxkLlxuICogQHBhcmFtIHthbnl9IHZhbHVlIC0gVmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge3ZhbHVlIGlzIEV4dFBhY2thZ2VKc29uPFBsdWdpblR5cGU+fVxuICovXG5mdW5jdGlvbiBpc1BsdWdpbiAodmFsdWUpIHtcbiAgcmV0dXJuIGlzRXh0ZW5zaW9uKHZhbHVlKSAmJiBfLmlzU3RyaW5nKF8uZ2V0KHZhbHVlLCAnYXBwaXVtLnBsdWdpbk5hbWUnKSk7XG59XG5cbi8qKlxuICogSGFuZGxlcyByZWFkaW5nICYgd3JpdGluZyBvZiBleHRlbnNpb24gY29uZmlnIGZpbGVzLlxuICpcbiAqIE9ubHkgb25lIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgZXhpc3RzIHBlciB2YWx1ZSBvZiBgQVBQSVVNX0hPTUVgLlxuICovXG5leHBvcnQgY2xhc3MgTWFuaWZlc3Qge1xuICAvKipcbiAgICogVGhlIGVudGlyZSBjb250ZW50cyBvZiBhIHBhcnNlZCBZQU1MIGV4dGVuc2lvbiBjb25maWcgZmlsZS5cbiAgICpcbiAgICogQ29udGFpbnMgcHJveGllcyBmb3IgYXV0b21hdGljIHBlcnNpc3RlbmNlIG9uIGRpc2tcbiAgICogQHR5cGUge01hbmlmZXN0RGF0YX1cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF9kYXRhO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIGBBUFBJVU1fSE9NRWAuXG4gICAqIEBwcml2YXRlXG4gICAqIEB0eXBlIHtSZWFkb25seTxzdHJpbmc+fVxuICAgKi9cbiAgX2FwcGl1bUhvbWU7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gYGV4dGVuc2lvbnMueWFtbGBcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogTm90IHNldCB1bnRpbCB7QGxpbmsgTWFuaWZlc3QucmVhZH0gaXMgY2FsbGVkLlxuICAgKi9cbiAgX21hbmlmZXN0UGF0aDtcblxuICAvKipcbiAgICogSGVscHMgYXZvaWQgd3JpdGluZyBtdWx0aXBsZSB0aW1lcy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdW5kZWZpbmVkYCwgY2FsbGluZyB7QGxpbmsgTWFuaWZlc3Qud3JpdGV9IHdpbGwgY2F1c2UgaXQgdG8gYmVcbiAgICogc2V0IHRvIGEgYFByb21pc2VgLiBXaGVuIHRoZSBjYWxsIHRvIGB3cml0ZSgpYCBpcyBjb21wbGV0ZSwgdGhlIGBQcm9taXNlYFxuICAgKiB3aWxsIHJlc29sdmUgYW5kIHRoZW4gdGhpcyB2YWx1ZSB3aWxsIGJlIHNldCB0byBgdW5kZWZpbmVkYC4gIENvbmN1cnJlbnQgY2FsbHNcbiAgICogbWFkZSB3aGlsZSB0aGlzIHZhbHVlIGlzIGEgYFByb21pc2VgIHdpbGwgcmV0dXJuIHRoZSBgUHJvbWlzZWAgaXRzZWxmLlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7UHJvbWlzZTxib29sZWFuPnx1bmRlZmluZWR9XG4gICAqL1xuICBfd3JpdGluZztcblxuICAvKipcbiAgICogSGVscHMgYXZvaWQgcmVhZGluZyBtdWx0aXBsZSB0aW1lcy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdW5kZWZpbmVkYCwgY2FsbGluZyB7QGxpbmsgTWFuaWZlc3QucmVhZH0gd2lsbCBjYXVzZSBpdCB0byBiZVxuICAgKiBzZXQgdG8gYSBgUHJvbWlzZWAuIFdoZW4gdGhlIGNhbGwgdG8gYHJlYWQoKWAgaXMgY29tcGxldGUsIHRoZSBgUHJvbWlzZWBcbiAgICogd2lsbCByZXNvbHZlIGFuZCB0aGVuIHRoaXMgdmFsdWUgd2lsbCBiZSBzZXQgdG8gYHVuZGVmaW5lZGAuICBDb25jdXJyZW50IGNhbGxzXG4gICAqIG1hZGUgd2hpbGUgdGhpcyB2YWx1ZSBpcyBhIGBQcm9taXNlYCB3aWxsIHJldHVybiB0aGUgYFByb21pc2VgIGl0c2VsZi5cbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1Byb21pc2U8dm9pZD58dW5kZWZpbmVkfVxuICAgKi9cbiAgX3JlYWRpbmc7XG5cbiAgLyoqXG4gICAqIFNldHMgaW50ZXJuYWwgZGF0YSB0byBhIGZyZXNoIGNsb25lIG9mIHtAbGluayBJTklUSUFMX01BTklGRVNUX0RBVEF9XG4gICAqXG4gICAqIFVzZSB7QGxpbmsgTWFuaWZlc3QuZ2V0SW5zdGFuY2V9IGluc3RlYWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcHBpdW1Ib21lXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3RvciAoYXBwaXVtSG9tZSkge1xuICAgIHRoaXMuX2FwcGl1bUhvbWUgPSBhcHBpdW1Ib21lO1xuICAgIHRoaXMuX2RhdGEgPSBfLmNsb25lRGVlcChJTklUSUFMX01BTklGRVNUX0RBVEEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBuZXcgb3IgZXhpc3Rpbmcge0BsaW5rIE1hbmlmZXN0fSBpbnN0YW5jZSwgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGBhcHBpdW1Ib21lYC5cbiAgICpcbiAgICogTWFpbnRhaW5zIG9uZSBpbnN0YW5jZSBwZXIgdmFsdWUgb2YgYGFwcGl1bUhvbWVgLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBwaXVtSG9tZSAtIFBhdGggdG8gYEFQUElVTV9IT01FYFxuICAgKiBAcmV0dXJucyB7TWFuaWZlc3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0SW5zdGFuY2UgPSBfLm1lbW9pemUoZnVuY3Rpb24gX2dldEluc3RhbmNlIChcbiAgICBhcHBpdW1Ib21lLFxuICApIHtcbiAgICByZXR1cm4gbmV3IE1hbmlmZXN0KGFwcGl1bUhvbWUpO1xuICB9KTtcblxuICAvKipcbiAgICogU2VhcmNoZXMgYEFQUElVTV9IT01FYCBmb3IgaW5zdGFsbGVkIGV4dGVuc2lvbnMgYW5kIGFkZHMgdGhlbSB0byB0aGUgbWFuaWZlc3QuXG4gICAqIEBwYXJhbSB7U3luY1dpdGhJbnN0YWxsZWRFeHRlbnNpb25zT3B0c30gb3B0c1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gYHRydWVgIGlmIGFueSBleHRlbnNpb25zIHdlcmUgYWRkZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgYXN5bmMgc3luY1dpdGhJbnN0YWxsZWRFeHRlbnNpb25zICh7ZGVwdGhMaW1pdCA9IERFRkFVTFRfU0VBUkNIX0RFUFRIfSA9IHt9KSB7XG4gICAgY29uc3Qgd2Fsa09wdHMgPSBfLmRlZmF1bHRzKHtkZXB0aExpbWl0fSwgREVGQVVMVF9GSU5EX0VYVEVOU0lPTlNfT1BUUyk7XG4gICAgLy8gdGhpcyBjb3VsZCBiZSBwYXJhbGxlbGl6ZWQsIGJ1dCB3ZSBjYW4ndCB1c2UgZnMud2FsayBhcyBhbiBhc3luYyBpdGVyYXRvclxuICAgIGxldCBkaWRDaGFuZ2UgPSBmYWxzZTtcbiAgICBmb3IgYXdhaXQgKGNvbnN0IHtzdGF0cywgcGF0aDogZmlsZXBhdGh9IG9mIGZzLndhbGsoXG4gICAgICB0aGlzLl9hcHBpdW1Ib21lLFxuICAgICAgd2Fsa09wdHMsXG4gICAgKSkge1xuICAgICAgaWYgKGZpbGVwYXRoICE9PSB0aGlzLl9hcHBpdW1Ib21lICYmIHN0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwa2cgPSBhd2FpdCBlbnYucmVhZFBhY2thZ2VJbkRpcihmaWxlcGF0aCk7XG4gICAgICAgICAgaWYgKHBrZyAmJiBpc0V4dGVuc2lvbihwa2cpKSB7XG4gICAgICAgICAgICAvLyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhpcyBleHRlbnNpb24gYWxyZWFkeSBleGlzdHMgaW4gdGhlIG1hbmlmZXN0LFxuICAgICAgICAgICAgLy8gc28gb25seSB1cGRhdGUgYGRpZENoYW5nZWAgaWYgaXQncyBuZXcuXG4gICAgICAgICAgICBjb25zdCBhZGRlZCA9IHRoaXMuYWRkRXh0ZW5zaW9uRnJvbVBhY2thZ2UoXG4gICAgICAgICAgICAgIHBrZyxcbiAgICAgICAgICAgICAgcGF0aC5qb2luKGZpbGVwYXRoLCAncGFja2FnZS5qc29uJyksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZGlkQ2hhbmdlID0gZGlkQ2hhbmdlIHx8IGFkZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGlkQ2hhbmdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYHRydWVgIGlmIGRyaXZlciB3aXRoIG5hbWUgYG5hbWVgIGlzIHJlZ2lzdGVyZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gRHJpdmVyIG5hbWVcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBoYXNEcml2ZXIgKG5hbWUpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9kYXRhLmRyaXZlcnNbbmFtZV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYHRydWVgIGlmIHBsdWdpbiB3aXRoIG5hbWUgYG5hbWVgIGlzIHJlZ2lzdGVyZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUGx1Z2luIG5hbWVcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBoYXNQbHVnaW4gKG5hbWUpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9kYXRhLnBsdWdpbnNbbmFtZV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgcGF0aCB0byBhIGBwYWNrYWdlLmpzb25gLCBhZGQgaXQgYXMgZWl0aGVyIGEgZHJpdmVyIG9yIHBsdWdpbiB0byB0aGUgbWFuaWZlc3QuXG4gICAqXG4gICAqIFdpbGwgX25vdF8gb3ZlcndyaXRlIGV4aXN0aW5nIGVudHJpZXMuXG4gICAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICAgKiBAcGFyYW0ge0V4dFBhY2thZ2VKc29uPEV4dFR5cGU+fSBwa2dKc29uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwa2dQYXRoXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIGB0cnVlYCB1cG9uIHN1Y2Nlc3MsIGBmYWxzZWAgaWYgdGhlIGV4dGVuc2lvbiBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuXG4gICAqL1xuICBhZGRFeHRlbnNpb25Gcm9tUGFja2FnZSAocGtnSnNvbiwgcGtnUGF0aCkge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtJbnRlcm5hbE1ldGFkYXRhfVxuICAgICAqL1xuICAgIGNvbnN0IGludGVybmFsID0ge1xuICAgICAgcGtnTmFtZTogcGtnSnNvbi5uYW1lLFxuICAgICAgdmVyc2lvbjogcGtnSnNvbi52ZXJzaW9uLFxuICAgICAgaW5zdGFsbFR5cGU6IElOU1RBTExfVFlQRV9OUE0sXG4gICAgICBpbnN0YWxsU3BlYzogYCR7cGtnSnNvbi5uYW1lfUAke3BrZ0pzb24udmVyc2lvbn1gLFxuICAgIH07XG5cbiAgICBpZiAoaXNEcml2ZXIocGtnSnNvbikpIHtcbiAgICAgIGlmICghdGhpcy5oYXNEcml2ZXIocGtnSnNvbi5hcHBpdW0uZHJpdmVyTmFtZSkpIHtcbiAgICAgICAgdGhpcy5hZGRFeHRlbnNpb24oRFJJVkVSX1RZUEUsIHBrZ0pzb24uYXBwaXVtLmRyaXZlck5hbWUsIHtcbiAgICAgICAgICAuLi5fLm9taXQocGtnSnNvbi5hcHBpdW0sICdkcml2ZXJOYW1lJyksXG4gICAgICAgICAgLi4uaW50ZXJuYWxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoaXNQbHVnaW4ocGtnSnNvbikpIHtcbiAgICAgIGlmICghdGhpcy5oYXNQbHVnaW4ocGtnSnNvbi5hcHBpdW0ucGx1Z2luTmFtZSkpIHtcbiAgICAgICAgdGhpcy5hZGRFeHRlbnNpb24oUExVR0lOX1RZUEUsIHBrZ0pzb24uYXBwaXVtLnBsdWdpbk5hbWUsIHtcbiAgICAgICAgICAuLi5fLm9taXQocGtnSnNvbi5hcHBpdW0sICdwbHVnaW5OYW1lJyksXG4gICAgICAgICAgLi4uaW50ZXJuYWwsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgYFRoZSBleHRlbnNpb24gaW4gJHtwYXRoLmRpcm5hbWUoXG4gICAgICAgICAgcGtnUGF0aCxcbiAgICAgICAgKX0gaXMgbmVpdGhlciBhIHZhbGlkIGRyaXZlciBub3IgYSB2YWxpZCBwbHVnaW4uYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBtYW5pZmVzdCBhcyB3YXMgaW5zdGFsbGVkIGJ5IHRoZSBgYXBwaXVtYCBDTEkuICBUaGVcbiAgICogYGV4dERhdGFgLCBgZXh0VHlwZWAsIGFuZCBgZXh0TmFtZWAgaGF2ZSBhbHJlYWR5IGJlZW4gZGV0ZXJtaW5lZC5cbiAgICpcbiAgICogU2VlIHtAbGluayBNYW5pZmVzdC5hZGRFeHRlbnNpb25Gcm9tUGFja2FnZX0gZm9yIGFkZGluZyBhbiBleHRlbnNpb24gZnJvbSBhbiBvbi1kaXNrIHBhY2thZ2UuXG4gICAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICAgKiBAcGFyYW0ge0V4dFR5cGV9IGV4dFR5cGUgLSBgZHJpdmVyYCBvciBgcGx1Z2luYFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0TmFtZSAtIE5hbWUgb2YgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7RXh0TWFuaWZlc3Q8RXh0VHlwZT59IGV4dERhdGEgLSBFeHRlbnNpb24gbWV0YWRhdGFcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBhZGRFeHRlbnNpb24gKGV4dFR5cGUsIGV4dE5hbWUsIGV4dERhdGEpIHtcbiAgICB0aGlzLl9kYXRhW2Ake2V4dFR5cGV9c2BdW2V4dE5hbWVdID0gZXh0RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBBUFBJVU1fSE9NRSBwYXRoXG4gICAqL1xuICBnZXQgYXBwaXVtSG9tZSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FwcGl1bUhvbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcGF0aCB0byB0aGUgbWFuaWZlc3QgZmlsZVxuICAgKi9cbiAgZ2V0IG1hbmlmZXN0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21hbmlmZXN0UGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGV4dGVuc2lvbiBkYXRhIGZvciBhIHBhcnRpY3VsYXIgdHlwZS5cbiAgICpcbiAgICogQHRlbXBsYXRlIHtFeHRlbnNpb25UeXBlfSBFeHRUeXBlXG4gICAqIEBwYXJhbSB7RXh0VHlwZX0gZXh0VHlwZVxuICAgKiBAcmV0dXJucyB7RXh0UmVjb3JkPEV4dFR5cGU+fVxuICAgKi9cbiAgZ2V0RXh0ZW5zaW9uRGF0YSAoZXh0VHlwZSkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhWy8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoYCR7ZXh0VHlwZX1zYCldO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIG1hbmlmZXN0IGZyb20gZGlzayBhbmQgX292ZXJ3cml0ZXNfIHRoZSBpbnRlcm5hbCBkYXRhLlxuICAgKlxuICAgKiBJZiB0aGUgbWFuaWZlc3QgZG9lcyBub3QgZXhpc3Qgb24gZGlzaywgYW4ge0BsaW5rIElOSVRJQUxfTUFOSUZFU1RfREFUQSBcImVtcHR5XCJ9IG1hbmlmZXN0IGZpbGUgd2lsbCBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBJZiBgQVBQSVVNX0hPTUVgIGNvbnRhaW5zIGEgYHBhY2thZ2UuanNvbmAgd2l0aCBhbiBgYXBwaXVtYCBkZXBlbmRlbmN5LCB0aGVuIGEgaGFzaCBvZiB0aGUgYHBhY2thZ2UuanNvbmAgd2lsbCBiZSB0YWtlbi4gSWYgdGhpcyBoYXNoIGRpZmZlcnMgZnJvbSB0aGUgbGFzdCBoYXNoLCB0aGUgY29udGVudHMgb2YgYEFQUElVTV9IT01FL25vZGVfbW9kdWxlc2Agd2lsbCBiZSBzY2FubmVkIGZvciBleHRlbnNpb25zIHRoYXQgbWF5IGhhdmUgYmVlbiBpbnN0YWxsZWQgb3V0c2lkZSBvZiB0aGUgYGFwcGl1bWAgQ0xJLiAgQW55IGZvdW5kIGV4dGVuc2lvbnMgd2lsbCBiZSBhZGRlZCB0byB0aGUgbWFuaWZlc3QgZmlsZSwgYW5kIGlmIHNvLCB0aGUgbWFuaWZlc3QgZmlsZSB3aWxsIGJlIHdyaXR0ZW4gdG8gZGlzay5cbiAgICpcbiAgICogT25seSBvbmUgcmVhZCBvcGVyYXRpb24gc2hvdWxkIGhhcHBlbiBhdCBhIHRpbWUuICBUaGlzIGlzIGNvbnRyb2xsZWQgdmlhIHRoZSB7QGxpbmsgTWFuaWZlc3QuX3JlYWRpbmd9IHByb3BlcnR5LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxNYW5pZmVzdERhdGE+fSBUaGUgZGF0YVxuICAgKi9cbiAgYXN5bmMgcmVhZCAoKSB7XG4gICAgaWYgKHRoaXMuX3JlYWRpbmcpIHtcbiAgICAgIGF3YWl0IHRoaXMuX3JlYWRpbmc7XG4gICAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkaW5nID0gKGFzeW5jICgpID0+IHtcbiAgICAgIC8qKiBAdHlwZSB7TWFuaWZlc3REYXRhfSAqL1xuICAgICAgbGV0IGRhdGE7XG4gICAgICBsZXQgaXNOZXdGaWxlID0gZmFsc2U7XG4gICAgICBhd2FpdCB0aGlzLl9zZXRNYW5pZmVzdFBhdGgoKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgUmVhZGluZyAke3RoaXMuX21hbmlmZXN0UGF0aH0uLi5gKTtcbiAgICAgICAgY29uc3QgeWFtbCA9IGF3YWl0IGZzLnJlYWRGaWxlKHRoaXMuX21hbmlmZXN0UGF0aCwgJ3V0ZjgnKTtcbiAgICAgICAgZGF0YSA9IFlBTUwucGFyc2UoeWFtbCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKGVyci5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgICAgIGRhdGEgPSBfLmNsb25lRGVlcChJTklUSUFMX01BTklGRVNUX0RBVEEpO1xuICAgICAgICAgIGlzTmV3RmlsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMuX21hbmlmZXN0UGF0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgQXBwaXVtIGhhZCB0cm91YmxlIGxvYWRpbmcgdGhlIGV4dGVuc2lvbiBpbnN0YWxsYXRpb24gYCArXG4gICAgICAgICAgICAgICAgYGNhY2hlIGZpbGUgKCR7dGhpcy5fbWFuaWZlc3RQYXRofSkuIEl0IG1heSBiZSBpbnZhbGlkIFlBTUwuIFNwZWNpZmljIGVycm9yOiAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBBcHBpdW0gZW5jb3VudGVyZWQgYW4gdW5rbm93biBwcm9ibGVtLiBTcGVjaWZpYyBlcnJvcjogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gICAgICBsZXQgaW5zdGFsbGVkRXh0ZW5zaW9uc0NoYW5nZWQgPSBmYWxzZTtcbiAgICAgIGlmIChcbiAgICAgICAgYXdhaXQgZW52Lmhhc0FwcGl1bURlcGVuZGVuY3kodGhpcy5hcHBpdW1Ib21lKSAmJlxuICAgICAgICAoYXdhaXQgcGFja2FnZURpZENoYW5nZSh0aGlzLmFwcGl1bUhvbWUpKVxuICAgICAgKSB7XG4gICAgICAgIGluc3RhbGxlZEV4dGVuc2lvbnNDaGFuZ2VkID0gYXdhaXQgdGhpcy5zeW5jV2l0aEluc3RhbGxlZEV4dGVuc2lvbnMoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzTmV3RmlsZSB8fCBpbnN0YWxsZWRFeHRlbnNpb25zQ2hhbmdlZCkge1xuICAgICAgICBhd2FpdCB0aGlzLndyaXRlKCk7XG4gICAgICB9XG4gICAgfSkoKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5fcmVhZGluZztcbiAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl9yZWFkaW5nID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIHtAbGluayBNYW5pZmVzdC5fbWFuaWZlc3RQYXRofSBpcyBzZXQuXG4gICAqXG4gICAqIENyZWF0ZXMgdGhlIGRpcmVjdG9yeSBpZiBuZWNlc3NhcnkuXG4gICAqIEBwcml2YXRlXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gICAqL1xuICBhc3luYyBfc2V0TWFuaWZlc3RQYXRoICgpIHtcbiAgICBpZiAoIXRoaXMuX21hbmlmZXN0UGF0aCkge1xuICAgICAgdGhpcy5fbWFuaWZlc3RQYXRoID0gYXdhaXQgZW52LnJlc29sdmVNYW5pZmVzdFBhdGgodGhpcy5fYXBwaXVtSG9tZSk7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKHBhdGgucmVsYXRpdmUodGhpcy5fYXBwaXVtSG9tZSwgdGhpcy5fbWFuaWZlc3RQYXRoKS5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBNaXNtYXRjaCBiZXR3ZWVuIGxvY2F0aW9uIG9mIEFQUElVTV9IT01FIGFuZCBtYW5pZmVzdCBmaWxlLiBBUFBJVU1fSE9NRTogJHt0aGlzLmFwcGl1bUhvbWV9LCBtYW5pZmVzdCBmaWxlOiAke3RoaXMuX21hbmlmZXN0UGF0aH1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9tYW5pZmVzdFBhdGg7XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBkYXRhIGlmIGl0IG5lZWQgcyB3cml0aW5nLlxuICAgKlxuICAgKiBJZiB0aGUgYHNjaGVtYVJldmAgcHJvcCBuZWVkcyB1cGRhdGluZywgdGhlIGZpbGUgd2lsbCBiZSB3cml0dGVuLlxuICAgKlxuICAgKiBAdG9kbyBJZiB0aGlzIGJlY29tZXMgdG9vIG11Y2ggb2YgYSBib3R0bGVuZWNrLCB0aHJvdHRsZSBpdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IFdoZXRoZXIgdGhlIGRhdGEgd2FzIHdyaXR0ZW5cbiAgICovXG4gIGFzeW5jIHdyaXRlICgpIHtcbiAgICBpZiAodGhpcy5fd3JpdGluZykge1xuICAgICAgcmV0dXJuIHRoaXMuX3dyaXRpbmc7XG4gICAgfVxuICAgIHRoaXMuX3dyaXRpbmcgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5fc2V0TWFuaWZlc3RQYXRoKCk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcnAocGF0aC5kaXJuYW1lKHRoaXMuX21hbmlmZXN0UGF0aCkpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQXBwaXVtIGNvdWxkIG5vdCBjcmVhdGUgdGhlIGRpcmVjdG9yeSBmb3IgdGhlIG1hbmlmZXN0IGZpbGU6ICR7cGF0aC5kaXJuYW1lKFxuICAgICAgICAgICAgdGhpcy5fbWFuaWZlc3RQYXRoLFxuICAgICAgICAgICl9LiBPcmlnaW5hbCBlcnJvcjogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKFxuICAgICAgICAgIHRoaXMuX21hbmlmZXN0UGF0aCxcbiAgICAgICAgICBZQU1MLnN0cmluZ2lmeSh0aGlzLl9kYXRhKSxcbiAgICAgICAgICAndXRmOCcsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQXBwaXVtIGNvdWxkIG5vdCB3cml0ZSB0byBtYW5pZmVzdCBhdCAke3RoaXMuX21hbmlmZXN0UGF0aH0gdXNpbmcgQVBQSVVNX0hPTUUgJHt0aGlzLl9hcHBpdW1Ib21lfS4gYCArXG4gICAgICAgICAgICBgUGxlYXNlIGVuc3VyZSBpdCBpcyB3cml0YWJsZS4gT3JpZ2luYWwgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KSgpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5fd3JpdGluZztcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fd3JpdGluZyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUeXBlIG9mIHRoZSBzdHJpbmcgcmVmZXJyaW5nIHRvIGEgZHJpdmVyICh0eXBpY2FsbHkgYXMgYSBrZXkgb3IgdHlwZSBzdHJpbmcpXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi8uLi90eXBlcycpLkRyaXZlclR5cGV9IERyaXZlclR5cGVcbiAqL1xuXG4vKipcbiAqIFR5cGUgb2YgdGhlIHN0cmluZyByZWZlcnJpbmcgdG8gYSBwbHVnaW4gKHR5cGljYWxseSBhcyBhIGtleSBvciB0eXBlIHN0cmluZylcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzJykuUGx1Z2luVHlwZX0gUGx1Z2luVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYgU3luY1dpdGhJbnN0YWxsZWRFeHRlbnNpb25zT3B0c1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFtkZXB0aExpbWl0XSAtIE1heGltdW0gZGVwdGggdG8gcmVjdXJzZSBpbnRvIHN1YmRpcmVjdG9yaWVzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi8uLi90eXBlcy9hcHBpdW0tbWFuaWZlc3QnKS5NYW5pZmVzdERhdGF9IE1hbmlmZXN0RGF0YVxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuSW50ZXJuYWxNZXRhZGF0YX0gSW50ZXJuYWxNZXRhZGF0YVxuICovXG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzL2V4dGVybmFsLW1hbmlmZXN0JykuRXh0UGFja2FnZUpzb248VD59IEV4dFBhY2thZ2VKc29uXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0TWFuaWZlc3Q8VD59IEV4dE1hbmlmZXN0XG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0UmVjb3JkPFQ+fSBFeHRSZWNvcmRcbiAqL1xuXG4vKipcbiAqIEVpdGhlciBgZHJpdmVyYCBvciBgcGx1Z2luYCByblxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMnKS5FeHRlbnNpb25UeXBlfSBFeHRlbnNpb25UeXBlXG4gKi9cblxuIl19
|
|
246
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX1NFQVJDSF9ERVBUSCIsIkRFRkFVTFRfRklORF9FWFRFTlNJT05TX09QVFMiLCJPYmplY3QiLCJmcmVlemUiLCJkZXB0aExpbWl0IiwiZmlsdGVyIiwiZmlsZXBhdGgiLCJwYXRoIiwiYmFzZW5hbWUiLCJzdGFydHNXaXRoIiwiQ09ORklHX1NDSEVNQV9SRVYiLCJDT05GSUdfREFUQV9EUklWRVJfS0VZIiwiRFJJVkVSX1RZUEUiLCJDT05GSUdfREFUQV9QTFVHSU5fS0VZIiwiUExVR0lOX1RZUEUiLCJJTklUSUFMX01BTklGRVNUX0RBVEEiLCJzY2hlbWFSZXYiLCJpc0V4dGVuc2lvbiIsInZhbHVlIiwiXyIsImlzUGxhaW5PYmplY3QiLCJhcHBpdW0iLCJpc1N0cmluZyIsIm5hbWUiLCJ2ZXJzaW9uIiwiaXNEcml2ZXIiLCJnZXQiLCJpc0FycmF5IiwiaXNQbHVnaW4iLCJNYW5pZmVzdCIsIl9kYXRhIiwiX2FwcGl1bUhvbWUiLCJfbWFuaWZlc3RQYXRoIiwiX3dyaXRpbmciLCJfcmVhZGluZyIsImNvbnN0cnVjdG9yIiwiYXBwaXVtSG9tZSIsImNsb25lRGVlcCIsImdldEluc3RhbmNlIiwibWVtb2l6ZSIsIl9nZXRJbnN0YW5jZSIsInN5bmNXaXRoSW5zdGFsbGVkRXh0ZW5zaW9ucyIsIndhbGtPcHRzIiwiZGVmYXVsdHMiLCJkaWRDaGFuZ2UiLCJzdGF0cyIsImZzIiwid2FsayIsImlzRGlyZWN0b3J5IiwicGtnIiwiZW52IiwicmVhZFBhY2thZ2VJbkRpciIsImFkZGVkIiwiYWRkRXh0ZW5zaW9uRnJvbVBhY2thZ2UiLCJqb2luIiwiaGFzRHJpdmVyIiwiQm9vbGVhbiIsImRyaXZlcnMiLCJoYXNQbHVnaW4iLCJwbHVnaW5zIiwicGtnSnNvbiIsInBrZ1BhdGgiLCJpbnRlcm5hbCIsInBrZ05hbWUiLCJpbnN0YWxsVHlwZSIsIklOU1RBTExfVFlQRV9OUE0iLCJpbnN0YWxsU3BlYyIsImRyaXZlck5hbWUiLCJhZGRFeHRlbnNpb24iLCJvbWl0IiwicGx1Z2luTmFtZSIsIlR5cGVFcnJvciIsImRpcm5hbWUiLCJleHRUeXBlIiwiZXh0TmFtZSIsImV4dERhdGEiLCJtYW5pZmVzdFBhdGgiLCJnZXRFeHRlbnNpb25EYXRhIiwicmVhZCIsImRhdGEiLCJpc05ld0ZpbGUiLCJfc2V0TWFuaWZlc3RQYXRoIiwibG9nIiwiZGVidWciLCJ5YW1sIiwicmVhZEZpbGUiLCJZQU1MIiwicGFyc2UiLCJlcnIiLCJjb2RlIiwiRXJyb3IiLCJtZXNzYWdlIiwiaW5zdGFsbGVkRXh0ZW5zaW9uc0NoYW5nZWQiLCJoYXNBcHBpdW1EZXBlbmRlbmN5Iiwid3JpdGUiLCJ1bmRlZmluZWQiLCJyZXNvbHZlTWFuaWZlc3RQYXRoIiwicmVsYXRpdmUiLCJta2RpcnAiLCJ3cml0ZUZpbGUiLCJzdHJpbmdpZnkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZXh0ZW5zaW9uL21hbmlmZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTW9kdWxlIGNvbnRhaW5pbmcge0BsaW5rIE1hbmlmZXN0fSB3aGljaCBoYW5kbGVzIHJlYWRpbmcgJiB3cml0aW5nIG9mIGV4dGVuc2lvbiBjb25maWcgZmlsZXMuXG4gKi9cblxuaW1wb3J0IHsgZW52LCBmcyB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgWUFNTCBmcm9tICd5YW1sJztcbmltcG9ydCB7IERSSVZFUl9UWVBFLCBQTFVHSU5fVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBJTlNUQUxMX1RZUEVfTlBNIH0gZnJvbSAnLi9leHRlbnNpb24tY29uZmlnJztcbmltcG9ydCB7IHBhY2thZ2VEaWRDaGFuZ2UgfSBmcm9tICcuL3BhY2thZ2UtY2hhbmdlZCc7XG5cbi8qKlxuICogRGVmYXVsdCBkZXB0aCB0byBzZWFyY2ggaW4gZGlyZWN0b3J5IHRyZWUgZm9yIHdoYXRldmVyIGl0IGlzIHdlJ3JlIGxvb2tpbmcgZm9yLlxuICpcbiAqIEl0J3MgNCBiZWNhdXNlIHNtYWxsZXIgbnVtYmVycyBkaWRuJ3Qgd29yay5cbiAqL1xuY29uc3QgREVGQVVMVF9TRUFSQ0hfREVQVEggPSA0O1xuXG4vKipcbiAqIERlZmF1bHQgb3B0aW9ucyBmb3Ige0BsaW5rIGZpbmRFeHRlbnNpb25zfS5cbiAqIEB0eXBlIHtSZWFkb25seTxpbXBvcnQoJ2tsYXcnKS5PcHRpb25zPn1cbiAqL1xuY29uc3QgREVGQVVMVF9GSU5EX0VYVEVOU0lPTlNfT1BUUyA9IE9iamVjdC5mcmVlemUoe1xuICBkZXB0aExpbWl0OiBERUZBVUxUX1NFQVJDSF9ERVBUSCxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgZmlsdGVyOiAoZmlsZXBhdGgpID0+ICFwYXRoLmJhc2VuYW1lKGZpbGVwYXRoKS5zdGFydHNXaXRoKCcuJyksXG59KTtcblxuLyoqXG4gKiBDdXJyZW50IGNvbmZpZ3VyYXRpb24gc2NoZW1hIHJldmlzaW9uIVxuICovXG5jb25zdCBDT05GSUdfU0NIRU1BX1JFViA9IDI7XG5cbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIHByb3AgKGBkcml2ZXJzYCkgdXNlZCBpbiBgZXh0ZW5zaW9ucy55YW1sYCBmb3IgZHJpdmVycy5cbiAqIEB0eXBlIHtgJHt0eXBlb2YgRFJJVkVSX1RZUEV9c2B9XG4gKi9cbmNvbnN0IENPTkZJR19EQVRBX0RSSVZFUl9LRVkgPSBgJHtEUklWRVJfVFlQRX1zYDtcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgcHJvcCAoYHBsdWdpbnNgKSB1c2VkIGluIGBleHRlbnNpb25zLnlhbWxgIGZvciBwbHVnaW5zLlxuICogQHR5cGUge2Ake3R5cGVvZiBQTFVHSU5fVFlQRX1zYH1cbiAqL1xuY29uc3QgQ09ORklHX0RBVEFfUExVR0lOX0tFWSA9IGAke1BMVUdJTl9UWVBFfXNgO1xuXG4vKipcbiAqIEB0eXBlIHtSZWFkb25seTxNYW5pZmVzdERhdGE+fVxuICovXG5jb25zdCBJTklUSUFMX01BTklGRVNUX0RBVEEgPSBPYmplY3QuZnJlZXplKHtcbiAgW0NPTkZJR19EQVRBX0RSSVZFUl9LRVldOiBPYmplY3QuZnJlZXplKHt9KSxcbiAgW0NPTkZJR19EQVRBX1BMVUdJTl9LRVldOiBPYmplY3QuZnJlZXplKHt9KSxcbiAgc2NoZW1hUmV2OiBDT05GSUdfU0NIRU1BX1JFVixcbn0pO1xuXG4vKipcbiAqIEdpdmVuIGEgYHBhY2thZ2UuanNvbmAgcmV0dXJuIGB0cnVlYCBpZiBpdCByZXByZXNlbnRzIGFuIEFwcGl1bSBFeHRlbnNpb24gKGVpdGhlciBhIGRyaXZlciBvciBwbHVnaW4pLlxuICpcbiAqIFRoZSBgcGFja2FnZS5qc29uYCBtdXN0IGhhdmUgYW4gYGFwcGl1bWAgcHJvcGVydHkgd2hpY2ggaXMgYW4gb2JqZWN0LlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcmV0dXJucyB7dmFsdWUgaXMgRXh0UGFja2FnZUpzb248RXh0ZW5zaW9uVHlwZT59XG4gKi9cbmZ1bmN0aW9uIGlzRXh0ZW5zaW9uICh2YWx1ZSkge1xuICByZXR1cm4gKFxuICAgIF8uaXNQbGFpbk9iamVjdCh2YWx1ZSkgJiZcbiAgICBfLmlzUGxhaW5PYmplY3QodmFsdWUuYXBwaXVtKSAmJlxuICAgIF8uaXNTdHJpbmcodmFsdWUubmFtZSkgJiZcbiAgICBfLmlzU3RyaW5nKHZhbHVlLnZlcnNpb24pXG4gICk7XG59XG4vKipcbiAqIEdpdmVuIGEgYHBhY2thZ2UuanNvbmAsIHJldHVybiBgdHJ1ZWAgaWYgaXQgcmVwcmVzZW50cyBhbiBBcHBpdW0gRHJpdmVyLlxuICpcbiAqIFRvIGJlIGNvbnNpZGVyZWQgYSBkcml2ZXIsIGEgYHBhY2thZ2UuanNvbmAgbXVzdCBoYXZlIGEgZmllbGRzXG4gKiBgYXBwaXVtLmRyaXZlck5hbWVgLCBgYXBwaXVtLmF1dG9tYXRpb25OYW1lYCBhbmQgYGFwcGl1bS5wbGF0Zm9ybU5hbWVzYC5cbiAqIEBwYXJhbSB7YW55fSB2YWx1ZSAtIFZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyBFeHRQYWNrYWdlSnNvbjxEcml2ZXJUeXBlPn1cbiAqL1xuZnVuY3Rpb24gaXNEcml2ZXIgKHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgaXNFeHRlbnNpb24odmFsdWUpICYmXG4gICAgXy5pc1N0cmluZyhfLmdldCh2YWx1ZSwgJ2FwcGl1bS5kcml2ZXJOYW1lJykpICYmXG4gICAgXy5pc1N0cmluZyhfLmdldCh2YWx1ZSwgJ2FwcGl1bS5hdXRvbWF0aW9uTmFtZScpKSAmJlxuICAgIF8uaXNBcnJheShfLmdldCh2YWx1ZSwgJ2FwcGl1bS5wbGF0Zm9ybU5hbWVzJykpXG4gICk7XG59XG5cbi8qKlxuICogR2l2ZW4gYSBgcGFja2FnZS5qc29uYCwgcmV0dXJuIGB0cnVlYCBpZiBpdCByZXByZXNlbnRzIGFuIEFwcGl1bSBQbHVnaW4uXG4gKlxuICogVG8gYmUgY29uc2lkZXJlZCBhIHBsdWdpbiwgYSBgcGFja2FnZS5qc29uYCBtdXN0IGhhdmUgYW4gYGFwcGl1bS5wbHVnaW5OYW1lYCBmaWVsZC5cbiAqIEBwYXJhbSB7YW55fSB2YWx1ZSAtIFZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyBFeHRQYWNrYWdlSnNvbjxQbHVnaW5UeXBlPn1cbiAqL1xuZnVuY3Rpb24gaXNQbHVnaW4gKHZhbHVlKSB7XG4gIHJldHVybiBpc0V4dGVuc2lvbih2YWx1ZSkgJiYgXy5pc1N0cmluZyhfLmdldCh2YWx1ZSwgJ2FwcGl1bS5wbHVnaW5OYW1lJykpO1xufVxuXG4vKipcbiAqIEhhbmRsZXMgcmVhZGluZyAmIHdyaXRpbmcgb2YgZXh0ZW5zaW9uIGNvbmZpZyBmaWxlcy5cbiAqXG4gKiBPbmx5IG9uZSBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGV4aXN0cyBwZXIgdmFsdWUgb2YgYEFQUElVTV9IT01FYC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBlbnRpcmUgY29udGVudHMgb2YgYSBwYXJzZWQgWUFNTCBleHRlbnNpb24gY29uZmlnIGZpbGUuXG4gICAqXG4gICAqIENvbnRhaW5zIHByb3hpZXMgZm9yIGF1dG9tYXRpYyBwZXJzaXN0ZW5jZSBvbiBkaXNrXG4gICAqIEB0eXBlIHtNYW5pZmVzdERhdGF9XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfZGF0YTtcblxuICAvKipcbiAgICogUGF0aCB0byBgQVBQSVVNX0hPTUVgLlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdHlwZSB7UmVhZG9ubHk8c3RyaW5nPn1cbiAgICovXG4gIF9hcHBpdW1Ib21lO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIGBleHRlbnNpb25zLnlhbWxgXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIE5vdCBzZXQgdW50aWwge0BsaW5rIE1hbmlmZXN0LnJlYWR9IGlzIGNhbGxlZC5cbiAgICovXG4gIF9tYW5pZmVzdFBhdGg7XG5cbiAgLyoqXG4gICAqIEhlbHBzIGF2b2lkIHdyaXRpbmcgbXVsdGlwbGUgdGltZXMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHVuZGVmaW5lZGAsIGNhbGxpbmcge0BsaW5rIE1hbmlmZXN0LndyaXRlfSB3aWxsIGNhdXNlIGl0IHRvIGJlXG4gICAqIHNldCB0byBhIGBQcm9taXNlYC4gV2hlbiB0aGUgY2FsbCB0byBgd3JpdGUoKWAgaXMgY29tcGxldGUsIHRoZSBgUHJvbWlzZWBcbiAgICogd2lsbCByZXNvbHZlIGFuZCB0aGVuIHRoaXMgdmFsdWUgd2lsbCBiZSBzZXQgdG8gYHVuZGVmaW5lZGAuICBDb25jdXJyZW50IGNhbGxzXG4gICAqIG1hZGUgd2hpbGUgdGhpcyB2YWx1ZSBpcyBhIGBQcm9taXNlYCB3aWxsIHJldHVybiB0aGUgYFByb21pc2VgIGl0c2VsZi5cbiAgICogQHByaXZhdGVcbiAgICogQHR5cGUge1Byb21pc2U8Ym9vbGVhbj58dW5kZWZpbmVkfVxuICAgKi9cbiAgX3dyaXRpbmc7XG5cbiAgLyoqXG4gICAqIEhlbHBzIGF2b2lkIHJlYWRpbmcgbXVsdGlwbGUgdGltZXMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHVuZGVmaW5lZGAsIGNhbGxpbmcge0BsaW5rIE1hbmlmZXN0LnJlYWR9IHdpbGwgY2F1c2UgaXQgdG8gYmVcbiAgICogc2V0IHRvIGEgYFByb21pc2VgLiBXaGVuIHRoZSBjYWxsIHRvIGByZWFkKClgIGlzIGNvbXBsZXRlLCB0aGUgYFByb21pc2VgXG4gICAqIHdpbGwgcmVzb2x2ZSBhbmQgdGhlbiB0aGlzIHZhbHVlIHdpbGwgYmUgc2V0IHRvIGB1bmRlZmluZWRgLiAgQ29uY3VycmVudCBjYWxsc1xuICAgKiBtYWRlIHdoaWxlIHRoaXMgdmFsdWUgaXMgYSBgUHJvbWlzZWAgd2lsbCByZXR1cm4gdGhlIGBQcm9taXNlYCBpdHNlbGYuXG4gICAqIEBwcml2YXRlXG4gICAqIEB0eXBlIHtQcm9taXNlPHZvaWQ+fHVuZGVmaW5lZH1cbiAgICovXG4gIF9yZWFkaW5nO1xuXG4gIC8qKlxuICAgKiBTZXRzIGludGVybmFsIGRhdGEgdG8gYSBmcmVzaCBjbG9uZSBvZiB7QGxpbmsgSU5JVElBTF9NQU5JRkVTVF9EQVRBfVxuICAgKlxuICAgKiBVc2Uge0BsaW5rIE1hbmlmZXN0LmdldEluc3RhbmNlfSBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBwaXVtSG9tZVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgY29uc3RydWN0b3IgKGFwcGl1bUhvbWUpIHtcbiAgICB0aGlzLl9hcHBpdW1Ib21lID0gYXBwaXVtSG9tZTtcbiAgICB0aGlzLl9kYXRhID0gXy5jbG9uZURlZXAoSU5JVElBTF9NQU5JRkVTVF9EQVRBKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbmV3IG9yIGV4aXN0aW5nIHtAbGluayBNYW5pZmVzdH0gaW5zdGFuY2UsIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBgYXBwaXVtSG9tZWAuXG4gICAqXG4gICAqIE1haW50YWlucyBvbmUgaW5zdGFuY2UgcGVyIHZhbHVlIG9mIGBhcHBpdW1Ib21lYC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwcGl1bUhvbWUgLSBQYXRoIHRvIGBBUFBJVU1fSE9NRWBcbiAgICogQHJldHVybnMge01hbmlmZXN0fVxuICAgKi9cbiAgc3RhdGljIGdldEluc3RhbmNlID0gXy5tZW1vaXplKGZ1bmN0aW9uIF9nZXRJbnN0YW5jZSAoXG4gICAgYXBwaXVtSG9tZSxcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBNYW5pZmVzdChhcHBpdW1Ib21lKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFNlYXJjaGVzIGBBUFBJVU1fSE9NRWAgZm9yIGluc3RhbGxlZCBleHRlbnNpb25zIGFuZCBhZGRzIHRoZW0gdG8gdGhlIG1hbmlmZXN0LlxuICAgKiBAcGFyYW0ge1N5bmNXaXRoSW5zdGFsbGVkRXh0ZW5zaW9uc09wdHN9IG9wdHNcbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IGB0cnVlYCBpZiBhbnkgZXh0ZW5zaW9ucyB3ZXJlIGFkZGVkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIGFzeW5jIHN5bmNXaXRoSW5zdGFsbGVkRXh0ZW5zaW9ucyAoe2RlcHRoTGltaXQgPSBERUZBVUxUX1NFQVJDSF9ERVBUSH0gPSB7fSkge1xuICAgIGNvbnN0IHdhbGtPcHRzID0gXy5kZWZhdWx0cyh7ZGVwdGhMaW1pdH0sIERFRkFVTFRfRklORF9FWFRFTlNJT05TX09QVFMpO1xuICAgIC8vIHRoaXMgY291bGQgYmUgcGFyYWxsZWxpemVkLCBidXQgd2UgY2FuJ3QgdXNlIGZzLndhbGsgYXMgYW4gYXN5bmMgaXRlcmF0b3JcbiAgICBsZXQgZGlkQ2hhbmdlID0gZmFsc2U7XG4gICAgZm9yIGF3YWl0IChjb25zdCB7c3RhdHMsIHBhdGg6IGZpbGVwYXRofSBvZiBmcy53YWxrKFxuICAgICAgdGhpcy5fYXBwaXVtSG9tZSxcbiAgICAgIHdhbGtPcHRzLFxuICAgICkpIHtcbiAgICAgIGlmIChmaWxlcGF0aCAhPT0gdGhpcy5fYXBwaXVtSG9tZSAmJiBzdGF0cy5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcGtnID0gYXdhaXQgZW52LnJlYWRQYWNrYWdlSW5EaXIoZmlsZXBhdGgpO1xuICAgICAgICAgIGlmIChwa2cgJiYgaXNFeHRlbnNpb24ocGtnKSkge1xuICAgICAgICAgICAgLy8gaXQncyBwb3NzaWJsZSB0aGF0IHRoaXMgZXh0ZW5zaW9uIGFscmVhZHkgZXhpc3RzIGluIHRoZSBtYW5pZmVzdCxcbiAgICAgICAgICAgIC8vIHNvIG9ubHkgdXBkYXRlIGBkaWRDaGFuZ2VgIGlmIGl0J3MgbmV3LlxuICAgICAgICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLmFkZEV4dGVuc2lvbkZyb21QYWNrYWdlKFxuICAgICAgICAgICAgICBwa2csXG4gICAgICAgICAgICAgIHBhdGguam9pbihmaWxlcGF0aCwgJ3BhY2thZ2UuanNvbicpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGRpZENoYW5nZSA9IGRpZENoYW5nZSB8fCBhZGRlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge31cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRpZENoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGB0cnVlYCBpZiBkcml2ZXIgd2l0aCBuYW1lIGBuYW1lYCBpcyByZWdpc3RlcmVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIERyaXZlciBuYW1lXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgaGFzRHJpdmVyIChuYW1lKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5fZGF0YS5kcml2ZXJzW25hbWVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGB0cnVlYCBpZiBwbHVnaW4gd2l0aCBuYW1lIGBuYW1lYCBpcyByZWdpc3RlcmVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFBsdWdpbiBuYW1lXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgaGFzUGx1Z2luIChuYW1lKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5fZGF0YS5wbHVnaW5zW25hbWVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiBhIHBhdGggdG8gYSBgcGFja2FnZS5qc29uYCwgYWRkIGl0IGFzIGVpdGhlciBhIGRyaXZlciBvciBwbHVnaW4gdG8gdGhlIG1hbmlmZXN0LlxuICAgKlxuICAgKiBXaWxsIF9ub3RfIG92ZXJ3cml0ZSBleGlzdGluZyBlbnRyaWVzLlxuICAgKiBAdGVtcGxhdGUge0V4dGVuc2lvblR5cGV9IEV4dFR5cGVcbiAgICogQHBhcmFtIHtFeHRQYWNrYWdlSnNvbjxFeHRUeXBlPn0gcGtnSnNvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGtnUGF0aFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBgdHJ1ZWAgdXBvbiBzdWNjZXNzLCBgZmFsc2VgIGlmIHRoZSBleHRlbnNpb24gaXMgYWxyZWFkeSByZWdpc3RlcmVkLlxuICAgKi9cbiAgYWRkRXh0ZW5zaW9uRnJvbVBhY2thZ2UgKHBrZ0pzb24sIHBrZ1BhdGgpIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7SW50ZXJuYWxNZXRhZGF0YX1cbiAgICAgKi9cbiAgICBjb25zdCBpbnRlcm5hbCA9IHtcbiAgICAgIHBrZ05hbWU6IHBrZ0pzb24ubmFtZSxcbiAgICAgIHZlcnNpb246IHBrZ0pzb24udmVyc2lvbixcbiAgICAgIGluc3RhbGxUeXBlOiBJTlNUQUxMX1RZUEVfTlBNLFxuICAgICAgaW5zdGFsbFNwZWM6IGAke3BrZ0pzb24ubmFtZX1AJHtwa2dKc29uLnZlcnNpb259YCxcbiAgICB9O1xuXG4gICAgaWYgKGlzRHJpdmVyKHBrZ0pzb24pKSB7XG4gICAgICBpZiAoIXRoaXMuaGFzRHJpdmVyKHBrZ0pzb24uYXBwaXVtLmRyaXZlck5hbWUpKSB7XG4gICAgICAgIHRoaXMuYWRkRXh0ZW5zaW9uKERSSVZFUl9UWVBFLCBwa2dKc29uLmFwcGl1bS5kcml2ZXJOYW1lLCB7XG4gICAgICAgICAgLi4uXy5vbWl0KHBrZ0pzb24uYXBwaXVtLCAnZHJpdmVyTmFtZScpLFxuICAgICAgICAgIC4uLmludGVybmFsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGlzUGx1Z2luKHBrZ0pzb24pKSB7XG4gICAgICBpZiAoIXRoaXMuaGFzUGx1Z2luKHBrZ0pzb24uYXBwaXVtLnBsdWdpbk5hbWUpKSB7XG4gICAgICAgIHRoaXMuYWRkRXh0ZW5zaW9uKFBMVUdJTl9UWVBFLCBwa2dKc29uLmFwcGl1bS5wbHVnaW5OYW1lLCB7XG4gICAgICAgICAgLi4uXy5vbWl0KHBrZ0pzb24uYXBwaXVtLCAncGx1Z2luTmFtZScpLFxuICAgICAgICAgIC4uLmludGVybmFsLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgIGBUaGUgZXh0ZW5zaW9uIGluICR7cGF0aC5kaXJuYW1lKFxuICAgICAgICAgIHBrZ1BhdGgsXG4gICAgICAgICl9IGlzIG5laXRoZXIgYSB2YWxpZCBkcml2ZXIgbm9yIGEgdmFsaWQgcGx1Z2luLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGV4dGVuc2lvbiB0byB0aGUgbWFuaWZlc3QgYXMgd2FzIGluc3RhbGxlZCBieSB0aGUgYGFwcGl1bWAgQ0xJLiAgVGhlXG4gICAqIGBleHREYXRhYCwgYGV4dFR5cGVgLCBhbmQgYGV4dE5hbWVgIGhhdmUgYWxyZWFkeSBiZWVuIGRldGVybWluZWQuXG4gICAqXG4gICAqIFNlZSB7QGxpbmsgTWFuaWZlc3QuYWRkRXh0ZW5zaW9uRnJvbVBhY2thZ2V9IGZvciBhZGRpbmcgYW4gZXh0ZW5zaW9uIGZyb20gYW4gb24tZGlzayBwYWNrYWdlLlxuICAgKiBAdGVtcGxhdGUge0V4dGVuc2lvblR5cGV9IEV4dFR5cGVcbiAgICogQHBhcmFtIHtFeHRUeXBlfSBleHRUeXBlIC0gYGRyaXZlcmAgb3IgYHBsdWdpbmBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dE5hbWUgLSBOYW1lIG9mIGV4dGVuc2lvblxuICAgKiBAcGFyYW0ge0V4dE1hbmlmZXN0PEV4dFR5cGU+fSBleHREYXRhIC0gRXh0ZW5zaW9uIG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgYWRkRXh0ZW5zaW9uIChleHRUeXBlLCBleHROYW1lLCBleHREYXRhKSB7XG4gICAgdGhpcy5fZGF0YVtgJHtleHRUeXBlfXNgXVtleHROYW1lXSA9IGV4dERhdGE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgQVBQSVVNX0hPTUUgcGF0aFxuICAgKi9cbiAgZ2V0IGFwcGl1bUhvbWUgKCkge1xuICAgIHJldHVybiB0aGlzLl9hcHBpdW1Ib21lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhdGggdG8gdGhlIG1hbmlmZXN0IGZpbGVcbiAgICovXG4gIGdldCBtYW5pZmVzdFBhdGggKCkge1xuICAgIHJldHVybiB0aGlzLl9tYW5pZmVzdFBhdGg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBleHRlbnNpb24gZGF0YSBmb3IgYSBwYXJ0aWN1bGFyIHR5cGUuXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSB7RXh0ZW5zaW9uVHlwZX0gRXh0VHlwZVxuICAgKiBAcGFyYW0ge0V4dFR5cGV9IGV4dFR5cGVcbiAgICogQHJldHVybnMge0V4dFJlY29yZDxFeHRUeXBlPn1cbiAgICovXG4gIGdldEV4dGVuc2lvbkRhdGEgKGV4dFR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVsvKiogQHR5cGUge3N0cmluZ30gKi8gKGAke2V4dFR5cGV9c2ApXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBtYW5pZmVzdCBmcm9tIGRpc2sgYW5kIF9vdmVyd3JpdGVzXyB0aGUgaW50ZXJuYWwgZGF0YS5cbiAgICpcbiAgICogSWYgdGhlIG1hbmlmZXN0IGRvZXMgbm90IGV4aXN0IG9uIGRpc2ssIGFuIHtAbGluayBJTklUSUFMX01BTklGRVNUX0RBVEEgXCJlbXB0eVwifSBtYW5pZmVzdCBmaWxlIHdpbGwgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogSWYgYEFQUElVTV9IT01FYCBjb250YWlucyBhIGBwYWNrYWdlLmpzb25gIHdpdGggYW4gYGFwcGl1bWAgZGVwZW5kZW5jeSwgdGhlbiBhIGhhc2ggb2YgdGhlIGBwYWNrYWdlLmpzb25gIHdpbGwgYmUgdGFrZW4uIElmIHRoaXMgaGFzaCBkaWZmZXJzIGZyb20gdGhlIGxhc3QgaGFzaCwgdGhlIGNvbnRlbnRzIG9mIGBBUFBJVU1fSE9NRS9ub2RlX21vZHVsZXNgIHdpbGwgYmUgc2Nhbm5lZCBmb3IgZXh0ZW5zaW9ucyB0aGF0IG1heSBoYXZlIGJlZW4gaW5zdGFsbGVkIG91dHNpZGUgb2YgdGhlIGBhcHBpdW1gIENMSS4gIEFueSBmb3VuZCBleHRlbnNpb25zIHdpbGwgYmUgYWRkZWQgdG8gdGhlIG1hbmlmZXN0IGZpbGUsIGFuZCBpZiBzbywgdGhlIG1hbmlmZXN0IGZpbGUgd2lsbCBiZSB3cml0dGVuIHRvIGRpc2suXG4gICAqXG4gICAqIE9ubHkgb25lIHJlYWQgb3BlcmF0aW9uIHNob3VsZCBoYXBwZW4gYXQgYSB0aW1lLiAgVGhpcyBpcyBjb250cm9sbGVkIHZpYSB0aGUge0BsaW5rIE1hbmlmZXN0Ll9yZWFkaW5nfSBwcm9wZXJ0eS5cbiAgICogQHJldHVybnMge1Byb21pc2U8TWFuaWZlc3REYXRhPn0gVGhlIGRhdGFcbiAgICovXG4gIGFzeW5jIHJlYWQgKCkge1xuICAgIGlmICh0aGlzLl9yZWFkaW5nKSB7XG4gICAgICBhd2FpdCB0aGlzLl9yZWFkaW5nO1xuICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVhZGluZyA9IChhc3luYyAoKSA9PiB7XG4gICAgICAvKiogQHR5cGUge01hbmlmZXN0RGF0YX0gKi9cbiAgICAgIGxldCBkYXRhO1xuICAgICAgbGV0IGlzTmV3RmlsZSA9IGZhbHNlO1xuICAgICAgYXdhaXQgdGhpcy5fc2V0TWFuaWZlc3RQYXRoKCk7XG4gICAgICB0cnkge1xuICAgICAgICBsb2cuZGVidWcoYFJlYWRpbmcgJHt0aGlzLl9tYW5pZmVzdFBhdGh9Li4uYCk7XG4gICAgICAgIGNvbnN0IHlhbWwgPSBhd2FpdCBmcy5yZWFkRmlsZSh0aGlzLl9tYW5pZmVzdFBhdGgsICd1dGY4Jyk7XG4gICAgICAgIGRhdGEgPSBZQU1MLnBhcnNlKHlhbWwpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgICBkYXRhID0gXy5jbG9uZURlZXAoSU5JVElBTF9NQU5JRkVTVF9EQVRBKTtcbiAgICAgICAgICBpc05ld0ZpbGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLl9tYW5pZmVzdFBhdGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYEFwcGl1bSBoYWQgdHJvdWJsZSBsb2FkaW5nIHRoZSBleHRlbnNpb24gaW5zdGFsbGF0aW9uIGAgK1xuICAgICAgICAgICAgICAgIGBjYWNoZSBmaWxlICgke3RoaXMuX21hbmlmZXN0UGF0aH0pLiBJdCBtYXkgYmUgaW52YWxpZCBZQU1MLiBTcGVjaWZpYyBlcnJvcjogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgQXBwaXVtIGVuY291bnRlcmVkIGFuIHVua25vd24gcHJvYmxlbS4gU3BlY2lmaWMgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgICAgbGV0IGluc3RhbGxlZEV4dGVuc2lvbnNDaGFuZ2VkID0gZmFsc2U7XG4gICAgICBpZiAoXG4gICAgICAgIGF3YWl0IGVudi5oYXNBcHBpdW1EZXBlbmRlbmN5KHRoaXMuYXBwaXVtSG9tZSkgJiZcbiAgICAgICAgKGF3YWl0IHBhY2thZ2VEaWRDaGFuZ2UodGhpcy5hcHBpdW1Ib21lKSlcbiAgICAgICkge1xuICAgICAgICBpbnN0YWxsZWRFeHRlbnNpb25zQ2hhbmdlZCA9IGF3YWl0IHRoaXMuc3luY1dpdGhJbnN0YWxsZWRFeHRlbnNpb25zKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc05ld0ZpbGUgfHwgaW5zdGFsbGVkRXh0ZW5zaW9uc0NoYW5nZWQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy53cml0ZSgpO1xuICAgICAgfVxuICAgIH0pKCk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuX3JlYWRpbmc7XG4gICAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fcmVhZGluZyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB7QGxpbmsgTWFuaWZlc3QuX21hbmlmZXN0UGF0aH0gaXMgc2V0LlxuICAgKlxuICAgKiBDcmVhdGVzIHRoZSBkaXJlY3RvcnkgaWYgbmVjZXNzYXJ5LlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fVxuICAgKi9cbiAgYXN5bmMgX3NldE1hbmlmZXN0UGF0aCAoKSB7XG4gICAgaWYgKCF0aGlzLl9tYW5pZmVzdFBhdGgpIHtcbiAgICAgIHRoaXMuX21hbmlmZXN0UGF0aCA9IGF3YWl0IGVudi5yZXNvbHZlTWFuaWZlc3RQYXRoKHRoaXMuX2FwcGl1bUhvbWUpO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChwYXRoLnJlbGF0aXZlKHRoaXMuX2FwcGl1bUhvbWUsIHRoaXMuX21hbmlmZXN0UGF0aCkuc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgTWlzbWF0Y2ggYmV0d2VlbiBsb2NhdGlvbiBvZiBBUFBJVU1fSE9NRSBhbmQgbWFuaWZlc3QgZmlsZS4gQVBQSVVNX0hPTUU6ICR7dGhpcy5hcHBpdW1Ib21lfSwgbWFuaWZlc3QgZmlsZTogJHt0aGlzLl9tYW5pZmVzdFBhdGh9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWFuaWZlc3RQYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlcyB0aGUgZGF0YSBpZiBpdCBuZWVkIHMgd3JpdGluZy5cbiAgICpcbiAgICogSWYgdGhlIGBzY2hlbWFSZXZgIHByb3AgbmVlZHMgdXBkYXRpbmcsIHRoZSBmaWxlIHdpbGwgYmUgd3JpdHRlbi5cbiAgICpcbiAgICogQHRvZG8gSWYgdGhpcyBiZWNvbWVzIHRvbyBtdWNoIG9mIGEgYm90dGxlbmVjaywgdGhyb3R0bGUgaXQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSBXaGV0aGVyIHRoZSBkYXRhIHdhcyB3cml0dGVuXG4gICAqL1xuICBhc3luYyB3cml0ZSAoKSB7XG4gICAgaWYgKHRoaXMuX3dyaXRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLl93cml0aW5nO1xuICAgIH1cbiAgICB0aGlzLl93cml0aW5nID0gKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuX3NldE1hbmlmZXN0UGF0aCgpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZnMubWtkaXJwKHBhdGguZGlybmFtZSh0aGlzLl9tYW5pZmVzdFBhdGgpKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEFwcGl1bSBjb3VsZCBub3QgY3JlYXRlIHRoZSBkaXJlY3RvcnkgZm9yIHRoZSBtYW5pZmVzdCBmaWxlOiAke3BhdGguZGlybmFtZShcbiAgICAgICAgICAgIHRoaXMuX21hbmlmZXN0UGF0aCxcbiAgICAgICAgICApfS4gT3JpZ2luYWwgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgICAgICB0aGlzLl9tYW5pZmVzdFBhdGgsXG4gICAgICAgICAgWUFNTC5zdHJpbmdpZnkodGhpcy5fZGF0YSksXG4gICAgICAgICAgJ3V0ZjgnLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEFwcGl1bSBjb3VsZCBub3Qgd3JpdGUgdG8gbWFuaWZlc3QgYXQgJHt0aGlzLl9tYW5pZmVzdFBhdGh9IHVzaW5nIEFQUElVTV9IT01FICR7dGhpcy5fYXBwaXVtSG9tZX0uIGAgK1xuICAgICAgICAgICAgYFBsZWFzZSBlbnN1cmUgaXQgaXMgd3JpdGFibGUuIE9yaWdpbmFsIGVycm9yOiAke2Vyci5tZXNzYWdlfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSkoKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3dyaXRpbmc7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3dyaXRpbmcgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVHlwZSBvZiB0aGUgc3RyaW5nIHJlZmVycmluZyB0byBhIGRyaXZlciAodHlwaWNhbGx5IGFzIGEga2V5IG9yIHR5cGUgc3RyaW5nKVxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMnKS5Ecml2ZXJUeXBlfSBEcml2ZXJUeXBlXG4gKi9cblxuLyoqXG4gKiBUeXBlIG9mIHRoZSBzdHJpbmcgcmVmZXJyaW5nIHRvIGEgcGx1Z2luICh0eXBpY2FsbHkgYXMgYSBrZXkgb3IgdHlwZSBzdHJpbmcpXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi8uLi90eXBlcycpLlBsdWdpblR5cGV9IFBsdWdpblR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIFN5bmNXaXRoSW5zdGFsbGVkRXh0ZW5zaW9uc09wdHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbZGVwdGhMaW1pdF0gLSBNYXhpbXVtIGRlcHRoIHRvIHJlY3Vyc2UgaW50byBzdWJkaXJlY3Rvcmllc1xuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuTWFuaWZlc3REYXRhfSBNYW5pZmVzdERhdGFcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzL2FwcGl1bS1tYW5pZmVzdCcpLkludGVybmFsTWV0YWRhdGF9IEludGVybmFsTWV0YWRhdGFcbiAqL1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi8uLi90eXBlcy9leHRlcm5hbC1tYW5pZmVzdCcpLkV4dFBhY2thZ2VKc29uPFQ+fSBFeHRQYWNrYWdlSnNvblxuICovXG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzL2FwcGl1bS1tYW5pZmVzdCcpLkV4dE1hbmlmZXN0PFQ+fSBFeHRNYW5pZmVzdFxuICovXG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzL2FwcGl1bS1tYW5pZmVzdCcpLkV4dFJlY29yZDxUPn0gRXh0UmVjb3JkXG4gKi9cblxuLyoqXG4gKiBFaXRoZXIgYGRyaXZlcmAgb3IgYHBsdWdpbmAgcm5cbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzJykuRXh0ZW5zaW9uVHlwZX0gRXh0ZW5zaW9uVHlwZVxuICovXG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFDQTs7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
|
|
@@ -65,4 +65,4 @@ async function packageDidChange(appiumHome) {
|
|
|
65
65
|
|
|
66
66
|
return isChanged;
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWNrYWdlRGlkQ2hhbmdlIiwiYXBwaXVtSG9tZSIsImhhc2hGaWxlbmFtZSIsInBhdGgiLCJqb2luIiwiUEtHX0hBU0hGSUxFX1JFTEFUSVZFX1BBVEgiLCJpc0NoYW5nZWQiLCJ3cml0ZUhhc2giLCJoYXNoIiwib2xkSGFzaCIsImhhc2hGaWxlbmFtZURpciIsImRpcm5hbWUiLCJsb2ciLCJkZWJ1ZyIsImZzIiwibWtkaXJwIiwiZXJyIiwiRXJyb3IiLCJtZXNzYWdlIiwiY3dkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2V4dGVuc2lvbi9wYWNrYWdlLWNoYW5nZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBmcyB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBpc1BhY2thZ2VDaGFuZ2VkIH0gZnJvbSAncGFja2FnZS1jaGFuZ2VkJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgUEtHX0hBU0hGSUxFX1JFTEFUSVZFX1BBVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgZXh0ZW5zaW9ucyBoYXZlIGNoYW5nZWQsIGFuZCB1cGRhdGVzIGEgaGFzaCB0aGUgYHBhY2thZ2UuanNvbmAgaW4gYGFwcGl1bUhvbWVgIGlmIHNvLlxuICpcbiAqIElmIHRoZXkgaGF2ZSwgd2UgbmVlZCB0byBzeW5jIHRoZW0gd2l0aCB0aGUgYGV4dGVuc2lvbnMueWFtbGAgbWFuaWZlc3QuXG4gKlxuICogX1dhcm5pbmc6IHRoaXMgbWFrZXMgYSBibG9ja2luZyBjYWxsIHRvIGB3cml0ZUZpbGVTeW5jYC5fXG4gKiBAcGFyYW0ge3N0cmluZ30gYXBwaXVtSG9tZVxuICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IGB0cnVlYCBpZiBgcGFja2FnZS5qc29uYCBgYXBwaXVtSG9tZWAgY2hhbmdlZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFja2FnZURpZENoYW5nZSAoYXBwaXVtSG9tZSkge1xuICBjb25zdCBoYXNoRmlsZW5hbWUgPSBwYXRoLmpvaW4oYXBwaXVtSG9tZSwgUEtHX0hBU0hGSUxFX1JFTEFUSVZFX1BBVEgpO1xuXG4gIC8vIFhYWDogdGhlIHR5cGVzIGluIGBwYWNrYWdlLWNoYW5nZWRgIHNlZW0gdG8gYmUgd3JvbmcuXG5cbiAgLyoqIEB0eXBlIHtib29sZWFufSAqL1xuICBsZXQgaXNDaGFuZ2VkO1xuICAvKiogQHR5cGUgeygpID0+IHZvaWR9ICovXG4gIGxldCB3cml0ZUhhc2g7XG4gIC8qKiBAdHlwZSB7c3RyaW5nfSAqL1xuICBsZXQgaGFzaDtcbiAgLyoqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfSAqL1xuICBsZXQgb2xkSGFzaDtcblxuICAvLyBmaXJzdCBta2RpcnAgdGhlIHRhcmdldCBkaXIuXG4gIGNvbnN0IGhhc2hGaWxlbmFtZURpciA9IHBhdGguZGlybmFtZShoYXNoRmlsZW5hbWUpO1xuICBsb2cuZGVidWcoYENyZWF0aW5nIGhhc2ggZmlsZSBkaXJlY3Rvcnk6ICR7aGFzaEZpbGVuYW1lRGlyfWApO1xuICB0cnkge1xuICAgIGF3YWl0IGZzLm1rZGlycChoYXNoRmlsZW5hbWVEaXIpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQXBwaXVtIGNvdWxkIG5vdCBjcmVhdGUgdGhlIGRpcmVjdG9yeSBmb3IgaGFzaCBmaWxlOiAke2hhc2hGaWxlbmFtZURpcn0uIE9yaWdpbmFsIGVycm9yOiAke2Vyci5tZXNzYWdlfWAsXG4gICAgKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgKHtpc0NoYW5nZWQsIHdyaXRlSGFzaCwgb2xkSGFzaCwgaGFzaH0gPSBhd2FpdCBpc1BhY2thZ2VDaGFuZ2VkKHtcbiAgICAgIGN3ZDogYXBwaXVtSG9tZSxcbiAgICAgIGhhc2hGaWxlbmFtZTogUEtHX0hBU0hGSUxFX1JFTEFUSVZFX1BBVEgsXG4gICAgfSkpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0NoYW5nZWQpIHtcbiAgICB0cnkge1xuICAgICAgd3JpdGVIYXNoKCk7XG4gICAgICBsb2cuZGVidWcoYFVwZGF0ZWQgaGFzaCBvZiAke2FwcGl1bUhvbWV9L3BhY2thZ2UuanNvbiBmcm9tOiAke29sZEhhc2ggPz8gJyhub25lKSd9IHRvOiAke2hhc2h9YCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBcHBpdW0gY291bGQgbm90IHdyaXRlIGhhc2ggZmlsZTogJHtoYXNoRmlsZW5hbWVEaXJ9LiBPcmlnaW5hbCBlcnJvcjogJHtlcnIubWVzc2FnZX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaXNDaGFuZ2VkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVdPLGVBQWVBLGdCQUFmLENBQWlDQyxVQUFqQyxFQUE2QztFQUNsRCxNQUFNQyxZQUFZLEdBQUdDLGNBQUtDLElBQUwsQ0FBVUgsVUFBVixFQUFzQkkscUNBQXRCLENBQXJCOztFQUtBLElBQUlDLFNBQUo7RUFFQSxJQUFJQyxTQUFKO0VBRUEsSUFBSUMsSUFBSjtFQUVBLElBQUlDLE9BQUo7O0VBR0EsTUFBTUMsZUFBZSxHQUFHUCxjQUFLUSxPQUFMLENBQWFULFlBQWIsQ0FBeEI7O0VBQ0FVLGdCQUFJQyxLQUFKLENBQVcsaUNBQWdDSCxlQUFnQixFQUEzRDs7RUFDQSxJQUFJO0lBQ0YsTUFBTUksWUFBR0MsTUFBSCxDQUFVTCxlQUFWLENBQU47RUFDRCxDQUZELENBRUUsT0FBT00sR0FBUCxFQUFZO0lBQ1osTUFBTSxJQUFJQyxLQUFKLENBQ0gsd0RBQXVEUCxlQUFnQixxQkFBb0JNLEdBQUcsQ0FBQ0UsT0FBUSxFQURwRyxDQUFOO0VBR0Q7O0VBRUQsSUFBSTtJQUNGLENBQUM7TUFBQ1osU0FBRDtNQUFZQyxTQUFaO01BQXVCRSxPQUF2QjtNQUFnQ0Q7SUFBaEMsSUFBd0MsTUFBTSxzQ0FBaUI7TUFDOURXLEdBQUcsRUFBRWxCLFVBRHlEO01BRTlEQyxZQUFZLEVBQUVHO0lBRmdELENBQWpCLENBQS9DO0VBSUQsQ0FMRCxDQUtFLE1BQU07SUFDTixPQUFPLElBQVA7RUFDRDs7RUFFRCxJQUFJQyxTQUFKLEVBQWU7SUFDYixJQUFJO01BQUE7O01BQ0ZDLFNBQVM7O01BQ1RLLGdCQUFJQyxLQUFKLENBQVcsbUJBQWtCWixVQUFXLHVCQUE5QixZQUFvRFEsT0FBcEQsK0NBQStELFFBQVMsUUFBT0QsSUFBSyxFQUE5RjtJQUNELENBSEQsQ0FHRSxPQUFPUSxHQUFQLEVBQVk7TUFDWixNQUFNLElBQUlDLEtBQUosQ0FDSCxxQ0FBb0NQLGVBQWdCLHFCQUFvQk0sR0FBRyxDQUFDRSxPQUFRLEVBRGpGLENBQU47SUFHRDtFQUNGOztFQUVELE9BQU9aLFNBQVA7QUFDRCJ9
|
|
@@ -84,4 +84,4 @@ class PluginConfig extends _extensionConfig.ExtensionConfig {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
exports.PluginConfig = PluginConfig;
|
|
87
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQbHVnaW5Db25maWciLCJFeHRlbnNpb25Db25maWciLCJfaW5zdGFuY2VzIiwiV2Vha01hcCIsImNvbnN0cnVjdG9yIiwibWFuaWZlc3QiLCJleHREYXRhIiwibG9nRm4iLCJQTFVHSU5fVFlQRSIsInZhbGlkYXRlIiwiY3JlYXRlIiwiaW5zdGFuY2UiLCJnZXRJbnN0YW5jZSIsIkVycm9yIiwiYXBwaXVtSG9tZSIsInNldCIsImdldCIsImV4dGVuc2lvbkRlc2MiLCJwbHVnaW5OYW1lIiwidmVyc2lvbiIsInByaW50IiwiYWN0aXZlTmFtZXMiLCJwbHVnaW5OYW1lcyIsIk9iamVjdCIsImtleXMiLCJpbnN0YWxsZWRFeHRlbnNpb25zIiwiXyIsImlzRW1wdHkiLCJsb2ciLCJpbmZvIiwicGx1Z2luRGF0YSIsInRvUGFpcnMiLCJhY3RpdmVUeHQiLCJpbmNsdWRlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9leHRlbnNpb24vcGx1Z2luLWNvbmZpZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0V4dGVuc2lvbkNvbmZpZ30gZnJvbSAnLi9leHRlbnNpb24tY29uZmlnJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7UExVR0lOX1RZUEV9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbi8qKlxuICogQGV4dGVuZHMge0V4dGVuc2lvbkNvbmZpZzxQbHVnaW5UeXBlPn1cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbkNvbmZpZyBleHRlbmRzIEV4dGVuc2lvbkNvbmZpZyB7XG5cbiAgLyoqXG4gICAqIEEgbWFwcGluZyBvZiB7QGxpbmsgTWFuaWZlc3R9IGluc3RhbmNlcyB0byB7QGxpbmsgUGx1Z2luQ29uZmlnfSBpbnN0YW5jZXMuXG4gICAqXG4gICAqIGBNYW5pZmVzdGAgYW5kIHtAbGluayBFeHRlbnNpb25Db25maWd9IGhhdmUgYSBvbmUtdG8tbWFueSByZWxhdGlvbnNoaXA7IGVhY2ggYE1hbmlmZXN0YCBzaG91bGQgYmUgYXNzb2NpYXRlZCB3aXRoIGEgYERyaXZlckNvbmZpZ2AgYW5kIGEgYFBsdWdpbkNvbmZpZ2A7IG5vIG1vcmUsIG5vIGxlc3MuXG4gICAqXG4gICAqIFRoaXMgdmFyaWFibGUgdHJhY2tzIHRoZSBgTWFuaWZlc3RgLXRvLWBQbHVnaW5Db25maWdgIHBvcnRpb24uXG4gICAqXG4gICAqIEB0eXBlIHtXZWFrTWFwPE1hbmlmZXN0LFBsdWdpbkNvbmZpZz59XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICAgc3RhdGljIF9pbnN0YW5jZXMgPSBuZXcgV2Vha01hcCgpO1xuXG4gICAvKipcbiAgICogQ2FsbCB7QGxpbmsgUGx1Z2luQ29uZmlnLmNyZWF0ZX0gaW5zdGVhZC5cbiAgICpcbiAgICogSnVzdCBjYWxscyB0aGUgc3VwZXJjbGFzcycgY29uc3RydWN0b3Igd2l0aCB0aGUgY29ycmVjdCBleHRlbnNpb24gdHlwZVxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge01hbmlmZXN0fSBtYW5pZmVzdCAtIElPIG9iamVjdFxuICAgKiBAcGFyYW0ge1BsdWdpbkNvbmZpZ09wdGlvbnN9IFtvcHRzXVxuICAgKi9cbiAgIGNvbnN0cnVjdG9yIChtYW5pZmVzdCwge2V4dERhdGEsIGxvZ0ZufSA9IHt9KSB7XG4gICAgIHN1cGVyKFBMVUdJTl9UWVBFLCBtYW5pZmVzdCwgbG9nRm4pO1xuXG4gICAgIGlmIChleHREYXRhKSB7XG4gICAgICAgdGhpcy52YWxpZGF0ZShleHREYXRhKTtcbiAgICAgfVxuICAgfVxuXG4gICAvKipcbiAgICAqIENyZWF0ZXMgYSBuZXcge0BsaW5rIFBsdWdpbkNvbmZpZ30gaW5zdGFuY2UgZm9yIGEge0BsaW5rIE1hbmlmZXN0fSBpbnN0YW5jZS5cbiAgICAqXG4gICAgKiBAcGFyYW0ge01hbmlmZXN0fSBtYW5pZmVzdFxuICAgICogQHBhcmFtIHtQbHVnaW5Db25maWdPcHRpb25zfSBbb3B0c11cbiAgICAqIEB0aHJvd3MgSWYgYG1hbmlmZXN0YCBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhIGBQbHVnaW5Db25maWdgXG4gICAgKiBAcmV0dXJucyB7UGx1Z2luQ29uZmlnfVxuICAgICovXG4gICBzdGF0aWMgY3JlYXRlIChtYW5pZmVzdCwge2V4dERhdGEsIGxvZ0ZufSA9IHt9KSB7XG4gICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFBsdWdpbkNvbmZpZyhtYW5pZmVzdCwge2xvZ0ZuLCBleHREYXRhfSk7XG4gICAgIGlmIChQbHVnaW5Db25maWcuZ2V0SW5zdGFuY2UobWFuaWZlc3QpKSB7XG4gICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYW5pZmVzdCB3aXRoIEFQUElVTV9IT01FICR7bWFuaWZlc3QuYXBwaXVtSG9tZX0gYWxyZWFkeSBoYXMgYSBQbHVnaW5Db25maWc7IHVzZSBQbHVnaW5Db25maWcuZ2V0SW5zdGFuY2UoKSB0byByZXRyaWV2ZSBpdC5gKTtcbiAgICAgfVxuICAgICBQbHVnaW5Db25maWcuX2luc3RhbmNlcy5zZXQobWFuaWZlc3QsIGluc3RhbmNlKTtcbiAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgfVxuXG4gICAvKipcbiAgICAgKiBSZXR1cm5zIGEgUGx1Z2luQ29uZmlnIGFzc29jaWF0ZWQgd2l0aCBhIE1hbmlmZXN0XG4gICAgICogQHBhcmFtIHtNYW5pZmVzdH0gbWFuaWZlc3RcbiAgICAgKiBAcmV0dXJucyB7UGx1Z2luQ29uZmlnfHVuZGVmaW5lZH1cbiAgICAgKi9cbiAgIHN0YXRpYyBnZXRJbnN0YW5jZSAobWFuaWZlc3QpIHtcbiAgICAgcmV0dXJuIFBsdWdpbkNvbmZpZy5faW5zdGFuY2VzLmdldChtYW5pZmVzdCk7XG4gICB9XG5cbiAgIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGx1Z2luTmFtZVxuICAgKiBAcGFyYW0ge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuRXh0TWFuaWZlc3Q8UGx1Z2luVHlwZT59IHBsdWdpbkRhdGFcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gICBleHRlbnNpb25EZXNjIChwbHVnaW5OYW1lLCB7dmVyc2lvbn0pIHtcbiAgICAgcmV0dXJuIGAke3BsdWdpbk5hbWV9QCR7dmVyc2lvbn1gO1xuICAgfVxuXG4gICAvKipcbiAgICpcbiAgICogQHBhcmFtIHsoa2V5b2YgUGx1Z2luUmVjb3JkKVtdfSBhY3RpdmVOYW1lc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gICBwcmludCAoYWN0aXZlTmFtZXMpIHtcbiAgICAgY29uc3QgcGx1Z2luTmFtZXMgPSBPYmplY3Qua2V5cyh0aGlzLmluc3RhbGxlZEV4dGVuc2lvbnMpO1xuXG4gICAgIGlmIChfLmlzRW1wdHkocGx1Z2luTmFtZXMpKSB7XG4gICAgICAgbG9nLmluZm8oYE5vIHBsdWdpbnMgaGF2ZSBiZWVuIGluc3RhbGxlZC4gVXNlIHRoZSBcImFwcGl1bSBwbHVnaW5cIiBgICtcbiAgICAgICAgICAgICAgICdjb21tYW5kIHRvIGluc3RhbGwgdGhlIG9uZShzKSB5b3Ugd2FudCB0byB1c2UuJyk7XG4gICAgICAgcmV0dXJuO1xuICAgICB9XG5cbiAgICAgbG9nLmluZm8oYEF2YWlsYWJsZSBwbHVnaW5zOmApO1xuICAgICBmb3IgKGNvbnN0IFtwbHVnaW5OYW1lLCBwbHVnaW5EYXRhXSBvZiBfLnRvUGFpcnModGhpcy5pbnN0YWxsZWRFeHRlbnNpb25zKSkge1xuICAgICAgIGNvbnN0IGFjdGl2ZVR4dCA9IF8uaW5jbHVkZXMoYWN0aXZlTmFtZXMsIHBsdWdpbk5hbWUpID8gJyAoQUNUSVZFKScgOiAnJztcbiAgICAgICBsb2cuaW5mbyhgICAtICR7dGhpcy5leHRlbnNpb25EZXNjKHBsdWdpbk5hbWUsIHBsdWdpbkRhdGEpfSR7YWN0aXZlVHh0fWApO1xuICAgICB9XG5cbiAgICAgaWYgKF8uaXNFbXB0eShhY3RpdmVOYW1lcykpIHtcbiAgICAgICBsb2cuaW5mbygnTm8gcGx1Z2lucyBhY3RpdmF0ZWQuIFVzZSB0aGUgLS11c2UtcGx1Z2lucyBmbGFnIHdpdGggbmFtZXMgb2YgcGx1Z2lucyB0byBhY3RpdmF0ZScpO1xuICAgICB9XG4gICB9XG59XG5cbi8qKlxuICogQHR5cGVkZWYgUGx1Z2luQ29uZmlnT3B0aW9uc1xuICogQHByb3BlcnR5IHtpbXBvcnQoJy4vZXh0ZW5zaW9uLWNvbmZpZycpLkV4dGVuc2lvbkxvZ0ZufSBbbG9nRm5dIC0gT3B0aW9uYWwgbG9nZ2luZyBmdW5jdGlvblxuICogQHByb3BlcnR5IHtpbXBvcnQoJy4uLy4uL3R5cGVzL2FwcGl1bS1tYW5pZmVzdCcpLlBsdWdpblJlY29yZH0gW2V4dERhdGFdIC0gRXh0ZW5zaW9uIGRhdGFcbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvYXBwaXVtLW1hbmlmZXN0JykuUGx1Z2luUmVjb3JkfSBQbHVnaW5SZWNvcmRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4uLy4uL3R5cGVzJykuUGx1Z2luVHlwZX0gUGx1Z2luVHlwZVxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vLi4vdHlwZXMvZXh0ZXJuYWwtbWFuaWZlc3QnKS5FeHRNZXRhZGF0YTxQbHVnaW5UeXBlPn0gUGx1Z2luTWV0YWRhdGFcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vbWFuaWZlc3QnKS5NYW5pZmVzdH0gTWFuaWZlc3RcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUtPLE1BQU1BLFlBQU4sU0FBMkJDLGdDQUEzQixDQUEyQztFQVk5QixPQUFWQyxVQUFVLEdBQUcsSUFBSUMsT0FBSixFQUFIOztFQVVqQkMsV0FBVyxDQUFFQyxRQUFGLEVBQVk7SUFBQ0MsT0FBRDtJQUFVQztFQUFWLElBQW1CLEVBQS9CLEVBQW1DO0lBQzVDLE1BQU1DLHNCQUFOLEVBQW1CSCxRQUFuQixFQUE2QkUsS0FBN0I7O0lBRUEsSUFBSUQsT0FBSixFQUFhO01BQ1gsS0FBS0csUUFBTCxDQUFjSCxPQUFkO0lBQ0Q7RUFDRjs7RUFVWSxPQUFOSSxNQUFNLENBQUVMLFFBQUYsRUFBWTtJQUFDQyxPQUFEO0lBQVVDO0VBQVYsSUFBbUIsRUFBL0IsRUFBbUM7SUFDOUMsTUFBTUksUUFBUSxHQUFHLElBQUlYLFlBQUosQ0FBaUJLLFFBQWpCLEVBQTJCO01BQUNFLEtBQUQ7TUFBUUQ7SUFBUixDQUEzQixDQUFqQjs7SUFDQSxJQUFJTixZQUFZLENBQUNZLFdBQWIsQ0FBeUJQLFFBQXpCLENBQUosRUFBd0M7TUFDdEMsTUFBTSxJQUFJUSxLQUFKLENBQVcsNkJBQTRCUixRQUFRLENBQUNTLFVBQVcsNkVBQTNELENBQU47SUFDRDs7SUFDRGQsWUFBWSxDQUFDRSxVQUFiLENBQXdCYSxHQUF4QixDQUE0QlYsUUFBNUIsRUFBc0NNLFFBQXRDOztJQUNBLE9BQU9BLFFBQVA7RUFDRDs7RUFPaUIsT0FBWEMsV0FBVyxDQUFFUCxRQUFGLEVBQVk7SUFDNUIsT0FBT0wsWUFBWSxDQUFDRSxVQUFiLENBQXdCYyxHQUF4QixDQUE0QlgsUUFBNUIsQ0FBUDtFQUNEOztFQU9EWSxhQUFhLENBQUVDLFVBQUYsRUFBYztJQUFDQztFQUFELENBQWQsRUFBeUI7SUFDcEMsT0FBUSxHQUFFRCxVQUFXLElBQUdDLE9BQVEsRUFBaEM7RUFDRDs7RUFPREMsS0FBSyxDQUFFQyxXQUFGLEVBQWU7SUFDbEIsTUFBTUMsV0FBVyxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWSxLQUFLQyxtQkFBakIsQ0FBcEI7O0lBRUEsSUFBSUMsZ0JBQUVDLE9BQUYsQ0FBVUwsV0FBVixDQUFKLEVBQTRCO01BQzFCTSxnQkFBSUMsSUFBSixDQUFVLDBEQUFELEdBQ0QsZ0RBRFI7O01BRUE7SUFDRDs7SUFFREQsZ0JBQUlDLElBQUosQ0FBVSxvQkFBVjs7SUFDQSxLQUFLLE1BQU0sQ0FBQ1gsVUFBRCxFQUFhWSxVQUFiLENBQVgsSUFBdUNKLGdCQUFFSyxPQUFGLENBQVUsS0FBS04sbUJBQWYsQ0FBdkMsRUFBNEU7TUFDMUUsTUFBTU8sU0FBUyxHQUFHTixnQkFBRU8sUUFBRixDQUFXWixXQUFYLEVBQXdCSCxVQUF4QixJQUFzQyxXQUF0QyxHQUFvRCxFQUF0RTs7TUFDQVUsZ0JBQUlDLElBQUosQ0FBVSxPQUFNLEtBQUtaLGFBQUwsQ0FBbUJDLFVBQW5CLEVBQStCWSxVQUEvQixDQUEyQyxHQUFFRSxTQUFVLEVBQXZFO0lBQ0Q7O0lBRUQsSUFBSU4sZ0JBQUVDLE9BQUYsQ0FBVU4sV0FBVixDQUFKLEVBQTRCO01BQzFCTyxnQkFBSUMsSUFBSixDQUFTLG9GQUFUO0lBQ0Q7RUFDRjs7QUF4RjhDIn0=
|
|
@@ -150,4 +150,4 @@ async function isAlreadyRegistered(configHolder) {
|
|
|
150
150
|
|
|
151
151
|
var _default = registerNode;
|
|
152
152
|
exports.default = _default;
|
|
153
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9ncmlkLXJlZ2lzdGVyLmpzIl0sIm5hbWVzIjpbImh1YlVyaSIsImNvbmZpZyIsInByb3RvY29sIiwiaHViUHJvdG9jb2wiLCJodWJIb3N0IiwiaHViUG9ydCIsInJlZ2lzdGVyTm9kZSIsImRhdGEiLCJhZGRyIiwicG9ydCIsImJhc2VQYXRoIiwiY29uZmlnRmlsZVBhdGgiLCJfIiwiaXNTdHJpbmciLCJmcyIsInJlYWRGaWxlIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJtZXNzYWdlIiwiSlNPTiIsInBhcnNlIiwiZXJyb3JBbmRUaHJvdyIsInBvc3RSZXF1ZXN0IiwicmVnaXN0ZXJUb0dyaWQiLCJwb3N0T3B0aW9ucyIsImNvbmZpZ0hvbGRlciIsInN0YXR1cyIsIkVycm9yIiwiZGVidWciLCJjb25maWd1cmF0aW9uIiwiaGFzIiwicHJvcGVydHkiLCJ1cmwiLCJob3N0IiwiaWQiLCJyZWdSZXF1ZXN0IiwibWV0aG9kIiwicmVnaXN0ZXIiLCJyZWdpc3RlckN5Y2xlSW50ZXJ2YWwiLCJyZWdpc3RlckN5Y2xlIiwiaXNOYU4iLCJ3YXJuIiwiZmlyc3QiLCJzZXRJbnRlcnZhbCIsInJlZ2lzdGVyUmV0cnkiLCJpc0FscmVhZHlSZWdpc3RlcmVkIiwidGltZW91dCIsInN1Y2Nlc3MiLCJtc2ciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsTUFBTSxHQUFJQyxNQUFELElBQVk7QUFDekIsUUFBTUMsUUFBUSxHQUFHRCxNQUFNLENBQUNFLFdBQVAsSUFBc0IsTUFBdkM7QUFDQSxTQUFRLEdBQUVELFFBQVMsTUFBS0QsTUFBTSxDQUFDRyxPQUFRLElBQUdILE1BQU0sQ0FBQ0ksT0FBUSxFQUF6RDtBQUNELENBSEQ7O0FBWUEsZUFBZUMsWUFBZixDQUE2QkMsSUFBN0IsRUFBbUNDLElBQW5DLEVBQXlDQyxJQUF6QyxFQUErQ0MsUUFBL0MsRUFBeUQ7QUFDdkQsTUFBSUMsY0FBSjs7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QUFvQ3BCLFlBQXBDLEVBQWtEO0FBRWhELFFBQU1TLEVBQUUsR0FBR1QsWUFBWSxDQUFDSSxhQUFiLENBQTJCSyxFQUF0Qzs7QUFDQSxNQUFJO0FBQ0YsVUFBTTtBQUFDNUIsTUFBQUEsSUFBRDtBQUFPb0IsTUFBQUE7QUFBUCxRQUFpQixNQUFNLG9CQUFNO0FBQ2pDTSxNQUFBQSxHQUFHLEVBQUcsR0FBRWpDLE1BQU0sQ0FBQzBCLFlBQVksQ0FBQ0ksYUFBZCxDQUE2QixzQkFBcUJLLEVBQUcsRUFEbEM7QUFFakNZLE1BQUFBLE9BQU8sRUFBRTtBQUZ3QixLQUFOLENBQTdCOztBQUlBLFFBQUlwQixNQUFNLEtBQUssR0FBZixFQUFvQjtBQUNsQixZQUFNLElBQUlDLEtBQUosQ0FBVyw0QkFBMkJELE1BQU8sRUFBN0MsQ0FBTjtBQUNEOztBQUNELFFBQUksQ0FBQ3BCLElBQUksQ0FBQ3lDLE9BQVYsRUFBbUI7QUFFakIvQixzQkFBT1ksS0FBUCxDQUFjLDRCQUEyQnRCLElBQUksQ0FBQzBDLEdBQUksRUFBbEQ7QUFDRDs7QUFDRCxXQUFPMUMsSUFBSSxDQUFDeUMsT0FBWjtBQUNELEdBYkQsQ0FhRSxPQUFPaEMsR0FBUCxFQUFZO0FBQ1pDLG9CQUFPWSxLQUFQLENBQWMsK0JBQThCYixHQUFHLENBQUNHLE9BQVEsRUFBeEQ7QUFDRDtBQUNGOztlQUdjYixZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG5jb25zdCBodWJVcmkgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IHByb3RvY29sID0gY29uZmlnLmh1YlByb3RvY29sIHx8ICdodHRwJztcbiAgcmV0dXJuIGAke3Byb3RvY29sfTovLyR7Y29uZmlnLmh1Ykhvc3R9OiR7Y29uZmlnLmh1YlBvcnR9YDtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgbmV3IG5vZGUgd2l0aCBhIHNlbGVuaXVtIGdyaWRcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gZGF0YSAtIFBhdGggb3Igb2JqZWN0IHJlcHJlc2VudGluZyBzZWxlbml1bSBncmlkIG5vZGUgY29uZmlnIGZpbGUuIElmIGEgYHN0cmluZ2AsIGFsbCBzdWJzZXF1ZW50IGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQhXG4gKiBAcGFyYW0ge3N0cmluZ30gW2FkZHJdIC0gQmluZCB0byB0aGlzIGFkZHJlc3NcbiAqIEBwYXJhbSB7bnVtYmVyfSBbcG9ydF0gLSBCaW5kIHRvIHRoaXMgcG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlUGF0aF0gLSBCYXNlIHBhdGggZm9yIHRoZSBncmlkXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlZ2lzdGVyTm9kZSAoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgbGV0IGNvbmZpZ0ZpbGVQYXRoO1xuICBpZiAoXy5pc1N0cmluZyhkYXRhKSkge1xuICAgIGNvbmZpZ0ZpbGVQYXRoID0gZGF0YTtcbiAgICB0cnkge1xuICAgICAgZGF0YSA9IGF3YWl0IGZzLnJlYWRGaWxlKGRhdGEsICd1dGYtOCcpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBVbmFibGUgdG8gbG9hZCBub2RlIGNvbmZpZ3VyYXRpb24gZmlsZSAke2NvbmZpZ0ZpbGVQYXRofSB0byByZWdpc3RlciB3aXRoIGdyaWQ6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvckFuZFRocm93KGBTeW50YXggZXJyb3IgaW4gbm9kZSBjb25maWd1cmF0aW9uIGZpbGUgJHtjb25maWdGaWxlUGF0aH06ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcG9zdFJlcXVlc3QoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWdpc3RlclRvR3JpZCAocG9zdE9wdGlvbnMsIGNvbmZpZ0hvbGRlcikge1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGF0dXN9ID0gYXdhaXQgYXhpb3MocG9zdE9wdGlvbnMpO1xuICAgIGlmIChzdGF0dXMgIT09IDIwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IGZhaWxlZCB3aXRoIGNvZGUgJHtzdGF0dXN9YCk7XG4gICAgfVxuICAgIGxvZ2dlci5kZWJ1ZyhgQXBwaXVtIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIHdpdGggdGhlIHRoZSBncmlkIG9uIGAgK1xuICAgICAgaHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5lcnJvcihgQW4gYXR0ZW1wdCB0byByZWdpc3RlciB3aXRoIHRoZSBncmlkIHdhcyB1bnN1Y2Nlc3NmdWw6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9zdFJlcXVlc3QgKGNvbmZpZ0hvbGRlciwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgLy8gTW92ZSBTZWxlbml1bSAzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0byBjb25maWd1cmF0aW9uIG9iamVjdFxuICBpZiAoIV8uaGFzKGNvbmZpZ0hvbGRlciwgJ2NvbmZpZ3VyYXRpb24nKSkge1xuICAgIGxldCBjb25maWd1cmF0aW9uID0ge307XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjb25maWdIb2xkZXIpIHtcbiAgICAgIGlmIChfLmhhcyhjb25maWdIb2xkZXIsIHByb3BlcnR5KSAmJiBwcm9wZXJ0eSAhPT0gJ2NhcGFiaWxpdGllcycpIHtcbiAgICAgICAgY29uZmlndXJhdGlvbltwcm9wZXJ0eV0gPSBjb25maWdIb2xkZXJbcHJvcGVydHldO1xuICAgICAgICBkZWxldGUgY29uZmlnSG9sZGVyW3Byb3BlcnR5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLy8gaWYgdGhlIG5vZGUgY29uZmlnIGRvZXMgbm90IGhhdmUgdGhlIGFwcGl1bS93ZWJkcml2ZXIgdXJsLCBob3N0LCBhbmQgcG9ydCxcbiAgLy8gYXV0b21hdGljYWxseSBhZGQgaXQgYmFzZWQgb24gaG93IGFwcGl1bSB3YXMgaW5pdGlhbGl6ZWRcbiAgLy8gb3RoZXJ3aXNlLCB3ZSB3aWxsIHRha2Ugd2hhdGV2ZXIgdGhlIHVzZXIgc2V0dXBcbiAgLy8gYmVjYXVzZSB3ZSB3aWxsIGFsd2F5cyBzZXQgbG9jYWxob3N0LzEyNy4wLjAuMS4gdGhpcyB3b24ndCB3b3JrIGlmIHlvdXJcbiAgLy8gbm9kZSBhbmQgZ3JpZCBhcmVuJ3QgaW4gdGhlIHNhbWUgcGxhY2VcbiAgaWYgKCFjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmhvc3QgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnBvcnQpIHtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgPSBgaHR0cDovLyR7YWRkcn06JHtwb3J0fSR7YmFzZVBhdGh9YDtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5ob3N0ID0gYWRkcjtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0ID0gcG9ydDtcbiAgfVxuICAvLyBpZiB0aGUgbm9kZSBjb25maWcgZG9lcyBub3QgaGF2ZSBpZCBhdXRvbWF0aWNhbGx5IGFkZCBpdFxuICBpZiAoIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmlkKSB7XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaWQgPSBgaHR0cDovLyR7Y29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaG9zdH06JHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0fWA7XG4gIH1cblxuICAvLyB0aGUgcG9zdCBvcHRpb25zXG4gIGNvbnN0IHJlZ1JlcXVlc3QgPSB7XG4gICAgdXJsOiBgJHtodWJVcmkoY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24pfS9ncmlkL3JlZ2lzdGVyYCxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBkYXRhOiBjb25maWdIb2xkZXIsXG4gIH07XG5cbiAgaWYgKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnJlZ2lzdGVyICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBObyByZWdpc3RyYXRpb24gc2VudCAoJHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3Rlcn0gPSBmYWxzZSlgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3RlckN5Y2xlO1xuICBpZiAoaXNOYU4ocmVnaXN0ZXJDeWNsZUludGVydmFsKSB8fCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPD0gMCkge1xuICAgIGxvZ2dlci53YXJuKGAncmVnaXN0ZXJDeWNsZScgaXMgbm90IGEgdmFsaWQgcG9zaXRpdmUgbnVtYmVyLiBgICtcbiAgICAgIGBObyByZWdpc3RyYXRpb24gcmVxdWVzdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGdyaWQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8vIGluaXRpYXRlIGEgbmV3IFRocmVhZFxuICBsZXQgZmlyc3QgPSB0cnVlO1xuICBsb2dnZXIuZGVidWcoYFN0YXJ0aW5nIGF1dG8gcmVnaXN0ZXIgdGhyZWFkIGZvciB0aGUgZ3JpZC4gYCArXG4gICAgYFdpbGwgdHJ5IHRvIHJlZ2lzdGVyIGV2ZXJ5ICR7cmVnaXN0ZXJDeWNsZUludGVydmFsfSBtcy5gKTtcbiAgc2V0SW50ZXJ2YWwoYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJSZXRyeSAoKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgYXdhaXQgcmVnaXN0ZXJUb0dyaWQocmVnUmVxdWVzdCwgY29uZmlnSG9sZGVyKTtcbiAgICB9IGVsc2UgaWYgKCFhd2FpdCBpc0FscmVhZHlSZWdpc3RlcmVkKGNvbmZpZ0hvbGRlcikpIHtcbiAgICAgIC8vIG1ha2UgdGhlIGh0dHAgUE9TVCB0byB0aGUgZ3JpZCBmb3IgcmVnaXN0cmF0aW9uXG4gICAgICBhd2FpdCByZWdpc3RlclRvR3JpZChyZWdSZXF1ZXN0LCBjb25maWdIb2xkZXIpO1xuICAgIH1cbiAgfSwgcmVnaXN0ZXJDeWNsZUludGVydmFsKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNBbHJlYWR5UmVnaXN0ZXJlZCAoY29uZmlnSG9sZGVyKSB7XG4gIC8vY2hlY2sgaWYgbm9kZSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgY29uc3QgaWQgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5pZDtcbiAgdHJ5IHtcbiAgICBjb25zdCB7ZGF0YSwgc3RhdHVzfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7aHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKX0vZ3JpZC9hcGkvcHJveHk/aWQ9JHtpZH1gLFxuICAgICAgdGltZW91dDogMTAwMDAsXG4gICAgfSk7XG4gICAgaWYgKHN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggY29kZSAke3N0YXR1c31gKTtcbiAgICB9XG4gICAgaWYgKCFkYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIC8vIGlmIHJlZ2lzdGVyIGZhaWwsIHByaW50IHRoZSBkZWJ1ZyBtc2dcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgR3JpZCByZWdpc3RyYXRpb24gZXJyb3I6ICR7ZGF0YS5tc2d9YCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLnN1Y2Nlc3M7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5kZWJ1ZyhgSHViIGRvd24gb3Igbm90IHJlc3BvbmRpbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCByZWdpc3Rlck5vZGU7XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJodWJVcmkiLCJjb25maWciLCJwcm90b2NvbCIsImh1YlByb3RvY29sIiwiaHViSG9zdCIsImh1YlBvcnQiLCJyZWdpc3Rlck5vZGUiLCJkYXRhIiwiYWRkciIsInBvcnQiLCJiYXNlUGF0aCIsImNvbmZpZ0ZpbGVQYXRoIiwiXyIsImlzU3RyaW5nIiwiZnMiLCJyZWFkRmlsZSIsImVyciIsImxvZ2dlciIsImVycm9yIiwibWVzc2FnZSIsIkpTT04iLCJwYXJzZSIsImVycm9yQW5kVGhyb3ciLCJwb3N0UmVxdWVzdCIsInJlZ2lzdGVyVG9HcmlkIiwicG9zdE9wdGlvbnMiLCJjb25maWdIb2xkZXIiLCJzdGF0dXMiLCJFcnJvciIsImRlYnVnIiwiY29uZmlndXJhdGlvbiIsImhhcyIsInByb3BlcnR5IiwidXJsIiwiaG9zdCIsImlkIiwicmVnUmVxdWVzdCIsIm1ldGhvZCIsInJlZ2lzdGVyIiwicmVnaXN0ZXJDeWNsZUludGVydmFsIiwicmVnaXN0ZXJDeWNsZSIsImlzTmFOIiwid2FybiIsImZpcnN0Iiwic2V0SW50ZXJ2YWwiLCJyZWdpc3RlclJldHJ5IiwiaXNBbHJlYWR5UmVnaXN0ZXJlZCIsInRpbWVvdXQiLCJzdWNjZXNzIiwibXNnIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2dyaWQtcmVnaXN0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG5jb25zdCBodWJVcmkgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IHByb3RvY29sID0gY29uZmlnLmh1YlByb3RvY29sIHx8ICdodHRwJztcbiAgcmV0dXJuIGAke3Byb3RvY29sfTovLyR7Y29uZmlnLmh1Ykhvc3R9OiR7Y29uZmlnLmh1YlBvcnR9YDtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgbmV3IG5vZGUgd2l0aCBhIHNlbGVuaXVtIGdyaWRcbiAqIEBwYXJhbSB7c3RyaW5nfG9iamVjdH0gZGF0YSAtIFBhdGggb3Igb2JqZWN0IHJlcHJlc2VudGluZyBzZWxlbml1bSBncmlkIG5vZGUgY29uZmlnIGZpbGUuIElmIGEgYHN0cmluZ2AsIGFsbCBzdWJzZXF1ZW50IGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQhXG4gKiBAcGFyYW0ge3N0cmluZ30gW2FkZHJdIC0gQmluZCB0byB0aGlzIGFkZHJlc3NcbiAqIEBwYXJhbSB7bnVtYmVyfSBbcG9ydF0gLSBCaW5kIHRvIHRoaXMgcG9ydFxuICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlUGF0aF0gLSBCYXNlIHBhdGggZm9yIHRoZSBncmlkXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlZ2lzdGVyTm9kZSAoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgbGV0IGNvbmZpZ0ZpbGVQYXRoO1xuICBpZiAoXy5pc1N0cmluZyhkYXRhKSkge1xuICAgIGNvbmZpZ0ZpbGVQYXRoID0gZGF0YTtcbiAgICB0cnkge1xuICAgICAgZGF0YSA9IGF3YWl0IGZzLnJlYWRGaWxlKGRhdGEsICd1dGYtOCcpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBVbmFibGUgdG8gbG9hZCBub2RlIGNvbmZpZ3VyYXRpb24gZmlsZSAke2NvbmZpZ0ZpbGVQYXRofSB0byByZWdpc3RlciB3aXRoIGdyaWQ6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvckFuZFRocm93KGBTeW50YXggZXJyb3IgaW4gbm9kZSBjb25maWd1cmF0aW9uIGZpbGUgJHtjb25maWdGaWxlUGF0aH06ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcG9zdFJlcXVlc3QoZGF0YSwgYWRkciwgcG9ydCwgYmFzZVBhdGgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWdpc3RlclRvR3JpZCAocG9zdE9wdGlvbnMsIGNvbmZpZ0hvbGRlcikge1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGF0dXN9ID0gYXdhaXQgYXhpb3MocG9zdE9wdGlvbnMpO1xuICAgIGlmIChzdGF0dXMgIT09IDIwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IGZhaWxlZCB3aXRoIGNvZGUgJHtzdGF0dXN9YCk7XG4gICAgfVxuICAgIGxvZ2dlci5kZWJ1ZyhgQXBwaXVtIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIHdpdGggdGhlIHRoZSBncmlkIG9uIGAgK1xuICAgICAgaHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5lcnJvcihgQW4gYXR0ZW1wdCB0byByZWdpc3RlciB3aXRoIHRoZSBncmlkIHdhcyB1bnN1Y2Nlc3NmdWw6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9zdFJlcXVlc3QgKGNvbmZpZ0hvbGRlciwgYWRkciwgcG9ydCwgYmFzZVBhdGgpIHtcbiAgLy8gTW92ZSBTZWxlbml1bSAzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0byBjb25maWd1cmF0aW9uIG9iamVjdFxuICBpZiAoIV8uaGFzKGNvbmZpZ0hvbGRlciwgJ2NvbmZpZ3VyYXRpb24nKSkge1xuICAgIGxldCBjb25maWd1cmF0aW9uID0ge307XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjb25maWdIb2xkZXIpIHtcbiAgICAgIGlmIChfLmhhcyhjb25maWdIb2xkZXIsIHByb3BlcnR5KSAmJiBwcm9wZXJ0eSAhPT0gJ2NhcGFiaWxpdGllcycpIHtcbiAgICAgICAgY29uZmlndXJhdGlvbltwcm9wZXJ0eV0gPSBjb25maWdIb2xkZXJbcHJvcGVydHldO1xuICAgICAgICBkZWxldGUgY29uZmlnSG9sZGVyW3Byb3BlcnR5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLy8gaWYgdGhlIG5vZGUgY29uZmlnIGRvZXMgbm90IGhhdmUgdGhlIGFwcGl1bS93ZWJkcml2ZXIgdXJsLCBob3N0LCBhbmQgcG9ydCxcbiAgLy8gYXV0b21hdGljYWxseSBhZGQgaXQgYmFzZWQgb24gaG93IGFwcGl1bSB3YXMgaW5pdGlhbGl6ZWRcbiAgLy8gb3RoZXJ3aXNlLCB3ZSB3aWxsIHRha2Ugd2hhdGV2ZXIgdGhlIHVzZXIgc2V0dXBcbiAgLy8gYmVjYXVzZSB3ZSB3aWxsIGFsd2F5cyBzZXQgbG9jYWxob3N0LzEyNy4wLjAuMS4gdGhpcyB3b24ndCB3b3JrIGlmIHlvdXJcbiAgLy8gbm9kZSBhbmQgZ3JpZCBhcmVuJ3QgaW4gdGhlIHNhbWUgcGxhY2VcbiAgaWYgKCFjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmhvc3QgfHwgIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnBvcnQpIHtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi51cmwgPSBgaHR0cDovLyR7YWRkcn06JHtwb3J0fSR7YmFzZVBhdGh9YDtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5ob3N0ID0gYWRkcjtcbiAgICBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0ID0gcG9ydDtcbiAgfVxuICAvLyBpZiB0aGUgbm9kZSBjb25maWcgZG9lcyBub3QgaGF2ZSBpZCBhdXRvbWF0aWNhbGx5IGFkZCBpdFxuICBpZiAoIWNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLmlkKSB7XG4gICAgY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaWQgPSBgaHR0cDovLyR7Y29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24uaG9zdH06JHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5wb3J0fWA7XG4gIH1cblxuICAvLyB0aGUgcG9zdCBvcHRpb25zXG4gIGNvbnN0IHJlZ1JlcXVlc3QgPSB7XG4gICAgdXJsOiBgJHtodWJVcmkoY29uZmlnSG9sZGVyLmNvbmZpZ3VyYXRpb24pfS9ncmlkL3JlZ2lzdGVyYCxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBkYXRhOiBjb25maWdIb2xkZXIsXG4gIH07XG5cbiAgaWYgKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uLnJlZ2lzdGVyICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBObyByZWdpc3RyYXRpb24gc2VudCAoJHtjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3Rlcn0gPSBmYWxzZSlgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5yZWdpc3RlckN5Y2xlO1xuICBpZiAoaXNOYU4ocmVnaXN0ZXJDeWNsZUludGVydmFsKSB8fCByZWdpc3RlckN5Y2xlSW50ZXJ2YWwgPD0gMCkge1xuICAgIGxvZ2dlci53YXJuKGAncmVnaXN0ZXJDeWNsZScgaXMgbm90IGEgdmFsaWQgcG9zaXRpdmUgbnVtYmVyLiBgICtcbiAgICAgIGBObyByZWdpc3RyYXRpb24gcmVxdWVzdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGdyaWQuYCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8vIGluaXRpYXRlIGEgbmV3IFRocmVhZFxuICBsZXQgZmlyc3QgPSB0cnVlO1xuICBsb2dnZXIuZGVidWcoYFN0YXJ0aW5nIGF1dG8gcmVnaXN0ZXIgdGhyZWFkIGZvciB0aGUgZ3JpZC4gYCArXG4gICAgYFdpbGwgdHJ5IHRvIHJlZ2lzdGVyIGV2ZXJ5ICR7cmVnaXN0ZXJDeWNsZUludGVydmFsfSBtcy5gKTtcbiAgc2V0SW50ZXJ2YWwoYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJSZXRyeSAoKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgYXdhaXQgcmVnaXN0ZXJUb0dyaWQocmVnUmVxdWVzdCwgY29uZmlnSG9sZGVyKTtcbiAgICB9IGVsc2UgaWYgKCFhd2FpdCBpc0FscmVhZHlSZWdpc3RlcmVkKGNvbmZpZ0hvbGRlcikpIHtcbiAgICAgIC8vIG1ha2UgdGhlIGh0dHAgUE9TVCB0byB0aGUgZ3JpZCBmb3IgcmVnaXN0cmF0aW9uXG4gICAgICBhd2FpdCByZWdpc3RlclRvR3JpZChyZWdSZXF1ZXN0LCBjb25maWdIb2xkZXIpO1xuICAgIH1cbiAgfSwgcmVnaXN0ZXJDeWNsZUludGVydmFsKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNBbHJlYWR5UmVnaXN0ZXJlZCAoY29uZmlnSG9sZGVyKSB7XG4gIC8vY2hlY2sgaWYgbm9kZSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgY29uc3QgaWQgPSBjb25maWdIb2xkZXIuY29uZmlndXJhdGlvbi5pZDtcbiAgdHJ5IHtcbiAgICBjb25zdCB7ZGF0YSwgc3RhdHVzfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7aHViVXJpKGNvbmZpZ0hvbGRlci5jb25maWd1cmF0aW9uKX0vZ3JpZC9hcGkvcHJveHk/aWQ9JHtpZH1gLFxuICAgICAgdGltZW91dDogMTAwMDAsXG4gICAgfSk7XG4gICAgaWYgKHN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggY29kZSAke3N0YXR1c31gKTtcbiAgICB9XG4gICAgaWYgKCFkYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIC8vIGlmIHJlZ2lzdGVyIGZhaWwsIHByaW50IHRoZSBkZWJ1ZyBtc2dcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgR3JpZCByZWdpc3RyYXRpb24gZXJyb3I6ICR7ZGF0YS5tc2d9YCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLnN1Y2Nlc3M7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5kZWJ1ZyhgSHViIGRvd24gb3Igbm90IHJlc3BvbmRpbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCByZWdpc3Rlck5vZGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsTUFBTSxHQUFJQyxNQUFELElBQVk7RUFDekIsTUFBTUMsUUFBUSxHQUFHRCxNQUFNLENBQUNFLFdBQVAsSUFBc0IsTUFBdkM7RUFDQSxPQUFRLEdBQUVELFFBQVMsTUFBS0QsTUFBTSxDQUFDRyxPQUFRLElBQUdILE1BQU0sQ0FBQ0ksT0FBUSxFQUF6RDtBQUNELENBSEQ7O0FBWUEsZUFBZUMsWUFBZixDQUE2QkMsSUFBN0IsRUFBbUNDLElBQW5DLEVBQXlDQyxJQUF6QyxFQUErQ0MsUUFBL0MsRUFBeUQ7RUFDdkQsSUFBSUMsY0FBSjs7RUFDQSxJQUFJQyxnQkFBRUMsUUFBRixDQUFXTixJQUFYLENBQUosRUFBc0I7SUFDcEJJLGNBQWMsR0FBR0osSUFBakI7O0lBQ0EsSUFBSTtNQUNGQSxJQUFJLEdBQUcsTUFBTU8sWUFBR0MsUUFBSCxDQUFZUixJQUFaLEVBQWtCLE9BQWxCLENBQWI7SUFDRCxDQUZELENBRUUsT0FBT1MsR0FBUCxFQUFZO01BQ1pDLGdCQUFPQyxLQUFQLENBQWMsMENBQXlDUCxjQUFlLDJCQUEwQkssR0FBRyxDQUFDRyxPQUFRLEVBQTVHOztNQUNBO0lBQ0Q7O0lBQ0QsSUFBSTtNQUNGWixJQUFJLEdBQUdhLElBQUksQ0FBQ0MsS0FBTCxDQUFXZCxJQUFYLENBQVA7SUFDRCxDQUZELENBRUUsT0FBT1MsR0FBUCxFQUFZO01BQ1pDLGdCQUFPSyxhQUFQLENBQXNCLDJDQUEwQ1gsY0FBZSxLQUFJSyxHQUFHLENBQUNHLE9BQVEsRUFBL0Y7O01BQ0E7SUFDRDtFQUNGOztFQUVESSxXQUFXLENBQUNoQixJQUFELEVBQU9DLElBQVAsRUFBYUMsSUFBYixFQUFtQkMsUUFBbkIsQ0FBWDtBQUNEOztBQUVELGVB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
|
package/build/lib/logger.js
CHANGED
|
@@ -13,4 +13,4 @@ let log = _support.logger.getLogger('Appium');
|
|
|
13
13
|
|
|
14
14
|
var _default = log;
|
|
15
15
|
exports.default = _default;
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvZ2dlciB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5cblxubGV0IGxvZyA9IGxvZ2dlci5nZXRMb2dnZXIoJ0FwcGl1bScpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUdBLElBQUlBLEdBQUcsR0FBR0MsZ0JBQU9DLFNBQVAsQ0FBaUIsUUFBakIsQ0FBVjs7ZUFFZUYsRyJ9
|
package/build/lib/logsink.js
CHANGED
|
@@ -206,4 +206,4 @@ function clear() {
|
|
|
206
206
|
|
|
207
207
|
var _default = init;
|
|
208
208
|
exports.default = _default;
|
|
209
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2dzaW5rLmpzIl0sIm5hbWVzIjpbImxvZ2dlciIsInBhdGNoTG9nZ2VyIiwibnBtbG9nIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJsZXZlbCIsImxldmVscyIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImNvbG9ycyIsIm5wbVRvV2luc3RvbkxldmVscyIsInNpbGx5IiwidmVyYm9zZSIsImh0dHAiLCJsb2ciLCJ1c2VMb2NhbFRpbWVab25lIiwidGltZXN0YW1wRm9ybWF0IiwiZm9ybWF0IiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJ2YWx1ZU9mIiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJ0b0lTT1N0cmluZyIsInJlcGxhY2UiLCJ0cmltIiwiY29sb3JpemVGb3JtYXQiLCJjb2xvcml6ZSIsInN0cmlwQ29sb3JGb3JtYXQiLCJzdHJpcENvbG9yIiwiY29kZSIsIm1lc3NhZ2UiLCJjcmVhdGVDb25zb2xlVHJhbnNwb3J0IiwiYXJncyIsImxvZ0x2bCIsInRyYW5zcG9ydHMiLCJDb25zb2xlIiwibmFtZSIsImhhbmRsZUV4Y2VwdGlvbnMiLCJleGl0T25FcnJvciIsImpzb24iLCJzdGRlcnJMZXZlbHMiLCJjb21iaW5lIiwiYWRqdXN0RGVidWciLCJsb2dOb0NvbG9ycyIsInByaW50ZiIsInByaW50SW5mbyIsImxvZ1RpbWVzdGFtcCIsImNyZWF0ZUZpbGVUcmFuc3BvcnQiLCJGaWxlIiwiZmlsZW5hbWUiLCJsb2dGaWxlIiwibWF4RmlsZXMiLCJjcmVhdGVIdHRwVHJhbnNwb3J0IiwiaG9zdCIsInBvcnQiLCJ3ZWJob29rIiwibWF0Y2giLCJob3N0QW5kUG9ydCIsInNwbGl0IiwicGFyc2VJbnQiLCJIdHRwIiwicGF0aCIsImNyZWF0ZVRyYW5zcG9ydHMiLCJjb25zb2xlTG9nTGV2ZWwiLCJmaWxlTG9nTGV2ZWwiLCJsb2dsZXZlbCIsImx2bFBhaXIiLCJwdXNoIiwiZnMiLCJleGlzdHMiLCJ1bmxpbmsiLCJlIiwiY29uc29sZSIsImluaXQiLCJsb2NhbFRpbWV6b25lIiwiY2xlYXIiLCJvbiIsImxvZ09iaiIsIndpbnN0b25MZXZlbCIsIm1zZyIsInByZWZpeCIsIm1hZ2VudGEiLCJsb2dIYW5kbGVyIiwiXyIsImlzRnVuY3Rpb24iLCJ0cmFuc3BvcnQiLCJrZXlzIiwicmVtb3ZlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUFBLGdCQUFPQyxXQUFQLENBQW1CQyxlQUFuQjs7QUFDQUMsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRixlQUF4QjtBQUdBQSxnQkFBT0csS0FBUCxHQUFlLFFBQWY7QUFDQSxNQUFNQyxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsS0FBSyxFQUFFLENBRE07QUFFYkMsRUFBQUEsSUFBSSxFQUFFLENBRk87QUFHYkMsRUFBQUEsSUFBSSxFQUFFLENBSE87QUFJYkMsRUFBQUEsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1DLE1BQU0sR0FBRztBQUNiSCxFQUFBQSxJQUFJLEVBQUUsTUFETztBQUViRCxFQUFBQSxLQUFLLEVBQUUsTUFGTTtBQUdiRSxFQUFBQSxJQUFJLEVBQUUsUUFITztBQUliQyxFQUFBQSxLQUFLLEVBQUU7QUFKTSxDQUFmO0FBT0EsTUFBTUUsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLEtBQUssRUFBRSxPQURrQjtBQUV6QkMsRUFBQUEsT0FBTyxFQUFFLE9BRmdCO0FBR3pCUCxFQUFBQSxLQUFLLEVBQUUsT0FIa0I7QUFJekJDLEVBQUFBLElBQUksRUFBRSxNQUptQjtBQUt6Qk8sRUFBQUEsSUFBSSxFQUFFLE1BTG1CO0FBTXpCTixFQUFBQSxJQUFJLEVBQUUsTUFObUI7QUFPekJDLEVBQUFBLEtBQUssRUFBRTtBQVBrQixDQUEzQjtBQVVBLElBQUlNLEdBQUcsR0FBRyxJQUFWO0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUcsS0FBdkI7O0FBR0EsTUFBTUMsZUFBZSxHQUFHQyxn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QyxNQUFuQixHQUE0QkEsTUFBTSxDQUFDQyxPQUFRLElBQUdGLEdBQUksRUFBM0Q7QUFDRDs7QUFDRGxFLElBQUFBLEdBQUcsQ0FBQ2lFLFlBQUQsQ0FBSCxDQUFrQkMsR0FBbEI7O0FBQ0EsUUFBSS9DLElBQUksQ0FBQ2tELFVBQUwsSUFBbUJDLGdCQUFFQyxVQUFGLENBQWFwRCxJQUFJLENBQUNrRCxVQUFsQixDQUF2QixFQUFzRDtBQUNwRGxELE1BQUFBLElBQUksQ0FBQ2tELFVBQUwsQ0FBZ0JMLE1BQU0sQ0FBQzNFLEtBQXZCLEVBQThCNkUsR0FBOUI7QUFDRDtBQUVGLEdBWkQ7QUFhRDs7QUFFRCxTQUFTSixLQUFULEdBQWtCO0FBQ2hCLE1BQUk5RCxHQUFKLEVBQVM7QUFDUCxTQUFLLElBQUl3RSxTQUFULElBQXNCRixnQkFBRUcsSUFBRixDQUFPekUsR0FBRyxDQUFDcUIsVUFBWCxDQUF0QixFQUE4QztBQUM1Q3JCLE1BQUFBLEdBQUcsQ0FBQzBFLE1BQUosQ0FBV0YsU0FBWDtBQUNEO0FBQ0Y7O0FBQ0R0RixrQkFBT3lGLGtCQUFQLENBQTBCLEtBQTFCO0FBQ0Q7O2VBSWNmLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbnBtbG9nIGZyb20gJ25wbWxvZyc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIGZvcm1hdCwgdHJhbnNwb3J0cyB9IGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IHsgZnMsIGxvZ2dlciB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbi8vIHNldCB1cCBkaXN0cmlidXRlZCBsb2dnaW5nIGJlZm9yZSBldmVyeXRoaW5nIGVsc2VcbmxvZ2dlci5wYXRjaExvZ2dlcihucG1sb2cpO1xuZ2xvYmFsLl9nbG9iYWxfbnBtbG9nID0gbnBtbG9nO1xuXG4vLyBucG1sb2cgaXMgdXNlZCBvbmx5IGZvciBlbWl0dGluZywgd2UgdXNlIHdpbnN0b24gZm9yIG91dHB1dFxubnBtbG9nLmxldmVsID0gJ3NpbGVudCc7XG5jb25zdCBsZXZlbHMgPSB7XG4gIGRlYnVnOiA0LFxuICBpbmZvOiAzLFxuICB3YXJuOiAyLFxuICBlcnJvcjogMSxcbn07XG5cbmNvbnN0IGNvbG9ycyA9IHtcbiAgaW5mbzogJ2N5YW4nLFxuICBkZWJ1ZzogJ2dyZXknLFxuICB3YXJuOiAneWVsbG93JyxcbiAgZXJyb3I6ICdyZWQnLFxufTtcblxuY29uc3QgbnBtVG9XaW5zdG9uTGV2ZWxzID0ge1xuICBzaWxseTogJ2RlYnVnJyxcbiAgdmVyYm9zZTogJ2RlYnVnJyxcbiAgZGVidWc6ICdkZWJ1ZycsXG4gIGluZm86ICdpbmZvJyxcbiAgaHR0cDogJ2luZm8nLFxuICB3YXJuOiAnd2FybicsXG4gIGVycm9yOiAnZXJyb3InLFxufTtcblxubGV0IGxvZyA9IG51bGw7XG5sZXQgdXNlTG9jYWxUaW1lWm9uZSA9IGZhbHNlO1xuXG4vLyBhZGQgdGhlIHRpbWVzdGFtcCBpbiB0aGUgY29ycmVjdCBmb3JtYXQgdG8gdGhlIGxvZyBpbmZvIG9iamVjdFxuY29uc3QgdGltZXN0YW1wRm9ybWF0ID0gZm9ybWF0LnRpbWVzdGFtcCh7XG4gIGZvcm1hdCAoKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGlmICh1c2VMb2NhbFRpbWVab25lKSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XG4gICAgfVxuICAgIC8vICcyMDEyLTExLTA0VDE0OjUxOjA2LjE1N1onIC0+ICcyMDEyLTExLTA0IDE0OjUxOjA2OjE1NydcbiAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpXG4gICAgICAucmVwbGFjZSgvW1RaXS9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwuL2csICc6JylcbiAgICAgIC50cmltKCk7XG4gIH0sXG59KTtcblxuLy8gc2V0IHRoZSBjdXN0b20gY29sb3JzXG5jb25zdCBjb2xvcml6ZUZvcm1hdCA9IGZvcm1hdC5jb2xvcml6ZSh7XG4gIGNvbG9ycyxcbn0pO1xuXG4vLyBTdHJpcCB0aGUgY29sb3IgbWFya2luZyB3aXRoaW4gbWVzc2FnZXNcbmNvbnN0IHN0cmlwQ29sb3JGb3JtYXQgPSBmb3JtYXQoZnVuY3Rpb24gc3RyaXBDb2xvciAoaW5mbykge1xuICBjb25zdCBjb2RlID0gL1xcdTAwMWJcXFsoXFxkKyg7XFxkKykqKT9tL2c7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udHJvbC1yZWdleFxuICBpbmZvLm1lc3NhZ2UgPSBpbmZvLm1lc3NhZ2UucmVwbGFjZShjb2RlLCAnJyk7XG4gIHJldHVybiBpbmZvO1xufSkoKTtcblxuZnVuY3Rpb24gY3JlYXRlQ29uc29sZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuQ29uc29sZSkoe1xuICAgIC8vIGBuYW1lYCBpcyB1bnN1cHBvcnRlZCBwZXIgd2luc3RvbidzIHR5cGUgZGVjbGFyYXRpb25zXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIG5hbWU6ICdjb25zb2xlJyxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIHN0ZGVyckxldmVsczogWydlcnJvciddLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBmb3JtYXQoZnVuY3Rpb24gYWRqdXN0RGVidWcgKGluZm8pIHtcbiAgICAgICAgLy8gcHJlcGVuZCBkZWJ1ZyBtYXJrZXIsIGFuZCBzaGlmdCB0byBgaW5mb2AgbG9nIGxldmVsXG4gICAgICAgIGlmIChpbmZvLmxldmVsID09PSAnZGVidWcnKSB7XG4gICAgICAgICAgaW5mby5sZXZlbCA9ICdpbmZvJztcbiAgICAgICAgICBpbmZvLm1lc3NhZ2UgPSBgW2RlYnVnXSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmZvO1xuICAgICAgfSkoKSxcbiAgICAgIHRpbWVzdGFtcEZvcm1hdCxcbiAgICAgIGFyZ3MubG9nTm9Db2xvcnMgPyBzdHJpcENvbG9yRm9ybWF0IDogY29sb3JpemVGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7YXJncy5sb2dUaW1lc3RhbXAgPyBgJHtpbmZvLnRpbWVzdGFtcH0gLSBgIDogJyd9JHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpbGVUcmFuc3BvcnQgKGFyZ3MsIGxvZ0x2bCkge1xuICByZXR1cm4gbmV3ICh0cmFuc3BvcnRzLkZpbGUpKHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgbmFtZTogJ2ZpbGUnLFxuICAgIGZpbGVuYW1lOiBhcmdzLmxvZ0ZpbGUsXG4gICAgbWF4RmlsZXM6IDEsXG4gICAgaGFuZGxlRXhjZXB0aW9uczogdHJ1ZSxcbiAgICBleGl0T25FcnJvcjogZmFsc2UsXG4gICAganNvbjogZmFsc2UsXG4gICAgbGV2ZWw6IGxvZ0x2bCxcbiAgICBmb3JtYXQ6IGZvcm1hdC5jb21iaW5lKFxuICAgICAgc3RyaXBDb2xvckZvcm1hdCxcbiAgICAgIHRpbWVzdGFtcEZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHtpbmZvLnRpbWVzdGFtcH0gJHtpbmZvLm1lc3NhZ2V9YDtcbiAgICAgIH0pXG4gICAgKVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSHR0cFRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIGxldCBob3N0ID0gJzEyNy4wLjAuMSc7XG4gIGxldCBwb3J0ID0gOTAwMztcblxuICBpZiAoYXJncy53ZWJob29rLm1hdGNoKCc6JykpIHtcbiAgICBjb25zdCBob3N0QW5kUG9ydCA9IGFyZ3Mud2ViaG9vay5zcGxpdCgnOicpO1xuICAgIGhvc3QgPSBob3N0QW5kUG9ydFswXTtcbiAgICBwb3J0ID0gcGFyc2VJbnQoaG9zdEFuZFBvcnRbMV0sIDEwKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuSHR0cCkoe1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBuYW1lOiAnaHR0cCcsXG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHBhdGg6ICcvJyxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlVHJhbnNwb3J0cyAoYXJncykge1xuICBsZXQgdHJhbnNwb3J0cyA9IFtdO1xuICBsZXQgY29uc29sZUxvZ0xldmVsID0gbnVsbDtcbiAgbGV0IGZpbGVMb2dMZXZlbCA9IG51bGw7XG5cbiAgaWYgKGFyZ3MubG9nbGV2ZWwgJiYgYXJncy5sb2dsZXZlbC5tYXRjaCgnOicpKSB7XG4gICAgLy8gLS1sb2ctbGV2ZWwgYXJnIGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgZGlmZiBsb2dnaW5nIGxldmVscyBmb3IgY29uc29sZSBhbmQgZmlsZSwgc2VwYXJhdGVkIGJ5IGEgY29sb25cbiAgICBjb25zdCBsdmxQYWlyID0gYXJncy5sb2dsZXZlbC5zcGxpdCgnOicpO1xuICAgIGNvbnNvbGVMb2dMZXZlbCA9IGx2bFBhaXJbMF0gfHwgY29uc29sZUxvZ0xldmVsO1xuICAgIGZpbGVMb2dMZXZlbCA9IGx2bFBhaXJbMV0gfHwgZmlsZUxvZ0xldmVsO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGVMb2dMZXZlbCA9IGZpbGVMb2dMZXZlbCA9IGFyZ3MubG9nbGV2ZWw7XG4gIH1cblxuICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlQ29uc29sZVRyYW5zcG9ydChhcmdzLCBjb25zb2xlTG9nTGV2ZWwpKTtcblxuICBpZiAoYXJncy5sb2dGaWxlKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGlmIHdlIGRvbid0IGRlbGV0ZSB0aGUgbG9nIGZpbGUsIHdpbnN0b24gd2lsbCBhbHdheXMgYXBwZW5kIGFuZCBpdCB3aWxsIGdyb3cgaW5maW5pdGVseSBsYXJnZTtcbiAgICAgIC8vIHdpbnN0b24gYWxsb3dzIGZvciBsaW1pdGluZyBsb2cgZmlsZSBzaXplLCBidXQgYXMgb2YgOS4yLjE0IHRoZXJlJ3MgYSBzZXJpb3VzIGJ1ZyB3aGVuIHVzaW5nXG4gICAgICAvLyBtYXhGaWxlcyBhbmQgbWF4U2l6ZSB0b2dldGhlci4gaHR0cHM6Ly9naXRodWIuY29tL2ZsYXRpcm9uL3dpbnN0b24vaXNzdWVzLzM5N1xuICAgICAgaWYgKGF3YWl0IGZzLmV4aXN0cyhhcmdzLmxvZ0ZpbGUpKSB7XG4gICAgICAgIGF3YWl0IGZzLnVubGluayhhcmdzLmxvZ0ZpbGUpO1xuICAgICAgfVxuXG4gICAgICB0cmFuc3BvcnRzLnB1c2goY3JlYXRlRmlsZVRyYW5zcG9ydChhcmdzLCBmaWxlTG9nTGV2ZWwpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYFRyaWVkIHRvIGF0dGFjaCBsb2dnaW5nIHRvIGZpbGUgJyR7YXJncy5sb2dGaWxlfScgYnV0IGFuIGVycm9yIGAgK1xuICAgICAgICAgICAgICAgICAgYG9jY3VycmVkOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJncy53ZWJob29rKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRyYW5zcG9ydHMucHVzaChjcmVhdGVIdHRwVHJhbnNwb3J0KGFyZ3MsIGZpbGVMb2dMZXZlbCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgVHJpZWQgdG8gYXR0YWNoIGxvZ2dpbmcgdG8gSHR0cCBhdCAke2FyZ3Mud2ViaG9va30gYnV0IGAgK1xuICAgICAgICAgICAgICAgICAgYGFuIGVycm9yIG9jY3VycmVkOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJhbnNwb3J0cztcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5pdCAoYXJncykge1xuICAvLyBzZXQgZGUgZmFjdG8gcGFyYW0gcGFzc2VkIHRvIHRpbWVzdGFtcCBmdW5jdGlvblxuICB1c2VMb2NhbFRpbWVab25lID0gYXJncy5sb2NhbFRpbWV6b25lO1xuXG4gIC8vIGNsZWFuIHVwIGluIGNhc2Ugd2UgaGF2ZSBpbml0aWF0ZWQgYmVmb3JlIHNpbmNlIG5wbWxvZyBpcyBhIGdsb2JhbCBvYmplY3RcbiAgY2xlYXIoKTtcblxuICBsb2cgPSBjcmVhdGVMb2dnZXIoe1xuICAgIHRyYW5zcG9ydHM6IGF3YWl0IGNyZWF0ZVRyYW5zcG9ydHMoYXJncyksXG4gICAgbGV2ZWxzLFxuICB9KTtcblxuICAvLyBDYXB0dXJlIGxvZ3MgZW1pdHRlZCB2aWEgbnBtbG9nIGFuZCBwYXNzIHRoZW0gdGhyb3VnaCB3aW5zdG9uXG4gIG5wbWxvZy5vbignbG9nJywgKGxvZ09iaikgPT4ge1xuICAgIGNvbnN0IHdpbnN0b25MZXZlbCA9IG5wbVRvV2luc3RvbkxldmVsc1tsb2dPYmoubGV2ZWxdIHx8ICdpbmZvJztcbiAgICBsZXQgbXNnID0gbG9nT2JqLm1lc3NhZ2U7XG4gICAgaWYgKGxvZ09iai5wcmVmaXgpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGBbJHtsb2dPYmoucHJlZml4fV1gO1xuICAgICAgbXNnID0gYCR7YXJncy5sb2dOb0NvbG9ycyA/IHByZWZpeCA6IHByZWZpeC5tYWdlbnRhfSAke21zZ31gO1xuICAgIH1cbiAgICBsb2dbd2luc3RvbkxldmVsXShtc2cpO1xuICAgIGlmIChhcmdzLmxvZ0hhbmRsZXIgJiYgXy5pc0Z1bmN0aW9uKGFyZ3MubG9nSGFuZGxlcikpIHtcbiAgICAgIGFyZ3MubG9nSGFuZGxlcihsb2dPYmoubGV2ZWwsIG1zZyk7XG4gICAgfVxuXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjbGVhciAoKSB7XG4gIGlmIChsb2cpIHtcbiAgICBmb3IgKGxldCB0cmFuc3BvcnQgb2YgXy5rZXlzKGxvZy50cmFuc3BvcnRzKSkge1xuICAgICAgbG9nLnJlbW92ZSh0cmFuc3BvcnQpO1xuICAgIH1cbiAgfVxuICBucG1sb2cucmVtb3ZlQWxsTGlzdGVuZXJzKCdsb2cnKTtcbn1cblxuXG5leHBvcnQgeyBpbml0LCBjbGVhciB9O1xuZXhwb3J0IGRlZmF1bHQgaW5pdDtcbiJdfQ==
|
|
209
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2dnZXIiLCJwYXRjaExvZ2dlciIsIm5wbWxvZyIsImdsb2JhbCIsIl9nbG9iYWxfbnBtbG9nIiwibGV2ZWwiLCJsZXZlbHMiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJjb2xvcnMiLCJucG1Ub1dpbnN0b25MZXZlbHMiLCJzaWxseSIsInZlcmJvc2UiLCJodHRwIiwibG9nIiwidXNlTG9jYWxUaW1lWm9uZSIsInRpbWVzdGFtcEZvcm1hdCIsImZvcm1hdCIsInRpbWVzdGFtcCIsImRhdGUiLCJEYXRlIiwidmFsdWVPZiIsImdldFRpbWV6b25lT2Zmc2V0IiwidG9JU09TdHJpbmciLCJyZXBsYWNlIiwidHJpbSIsImNvbG9yaXplRm9ybWF0IiwiY29sb3JpemUiLCJzdHJpcENvbG9yRm9ybWF0Iiwic3RyaXBDb2xvciIsImNvZGUiLCJtZXNzYWdlIiwiY3JlYXRlQ29uc29sZVRyYW5zcG9ydCIsImFyZ3MiLCJsb2dMdmwiLCJ0cmFuc3BvcnRzIiwiQ29uc29sZSIsIm5hbWUiLCJoYW5kbGVFeGNlcHRpb25zIiwiZXhpdE9uRXJyb3IiLCJqc29uIiwic3RkZXJyTGV2ZWxzIiwiY29tYmluZSIsImFkanVzdERlYnVnIiwibG9nTm9Db2xvcnMiLCJwcmludGYiLCJwcmludEluZm8iLCJsb2dUaW1lc3RhbXAiLCJjcmVhdGVGaWxlVHJhbnNwb3J0IiwiRmlsZSIsImZpbGVuYW1lIiwibG9nRmlsZSIsIm1heEZpbGVzIiwiY3JlYXRlSHR0cFRyYW5zcG9ydCIsImhvc3QiLCJwb3J0Iiwid2ViaG9vayIsIm1hdGNoIiwiaG9zdEFuZFBvcnQiLCJzcGxpdCIsInBhcnNlSW50IiwiSHR0cCIsInBhdGgiLCJjcmVhdGVUcmFuc3BvcnRzIiwiY29uc29sZUxvZ0xldmVsIiwiZmlsZUxvZ0xldmVsIiwibG9nbGV2ZWwiLCJsdmxQYWlyIiwicHVzaCIsImZzIiwiZXhpc3RzIiwidW5saW5rIiwiZSIsImNvbnNvbGUiLCJpbml0IiwibG9jYWxUaW1lem9uZSIsImNsZWFyIiwib24iLCJsb2dPYmoiLCJ3aW5zdG9uTGV2ZWwiLCJtc2ciLCJwcmVmaXgiLCJtYWdlbnRhIiwibG9nSGFuZGxlciIsIl8iLCJpc0Z1bmN0aW9uIiwidHJhbnNwb3J0Iiwia2V5cyIsInJlbW92ZSIsInJlbW92ZUFsbExpc3RlbmVycyJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2dzaW5rLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBucG1sb2cgZnJvbSAnbnBtbG9nJztcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgZm9ybWF0LCB0cmFuc3BvcnRzIH0gZnJvbSAnd2luc3Rvbic7XG5pbXBvcnQgeyBmcywgbG9nZ2VyIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuLy8gc2V0IHVwIGRpc3RyaWJ1dGVkIGxvZ2dpbmcgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZVxubG9nZ2VyLnBhdGNoTG9nZ2VyKG5wbWxvZyk7XG5nbG9iYWwuX2dsb2JhbF9ucG1sb2cgPSBucG1sb2c7XG5cbi8vIG5wbWxvZyBpcyB1c2VkIG9ubHkgZm9yIGVtaXR0aW5nLCB3ZSB1c2Ugd2luc3RvbiBmb3Igb3V0cHV0XG5ucG1sb2cubGV2ZWwgPSAnc2lsZW50JztcbmNvbnN0IGxldmVscyA9IHtcbiAgZGVidWc6IDQsXG4gIGluZm86IDMsXG4gIHdhcm46IDIsXG4gIGVycm9yOiAxLFxufTtcblxuY29uc3QgY29sb3JzID0ge1xuICBpbmZvOiAnY3lhbicsXG4gIGRlYnVnOiAnZ3JleScsXG4gIHdhcm46ICd5ZWxsb3cnLFxuICBlcnJvcjogJ3JlZCcsXG59O1xuXG5jb25zdCBucG1Ub1dpbnN0b25MZXZlbHMgPSB7XG4gIHNpbGx5OiAnZGVidWcnLFxuICB2ZXJib3NlOiAnZGVidWcnLFxuICBkZWJ1ZzogJ2RlYnVnJyxcbiAgaW5mbzogJ2luZm8nLFxuICBodHRwOiAnaW5mbycsXG4gIHdhcm46ICd3YXJuJyxcbiAgZXJyb3I6ICdlcnJvcicsXG59O1xuXG5sZXQgbG9nID0gbnVsbDtcbmxldCB1c2VMb2NhbFRpbWVab25lID0gZmFsc2U7XG5cbi8vIGFkZCB0aGUgdGltZXN0YW1wIGluIHRoZSBjb3JyZWN0IGZvcm1hdCB0byB0aGUgbG9nIGluZm8gb2JqZWN0XG5jb25zdCB0aW1lc3RhbXBGb3JtYXQgPSBmb3JtYXQudGltZXN0YW1wKHtcbiAgZm9ybWF0ICgpIHtcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgaWYgKHVzZUxvY2FsVGltZVpvbmUpIHtcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRlLnZhbHVlT2YoKSAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwKTtcbiAgICB9XG4gICAgLy8gJzIwMTItMTEtMDRUMTQ6NTE6MDYuMTU3WicgLT4gJzIwMTItMTEtMDQgMTQ6NTE6MDY6MTU3J1xuICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKClcbiAgICAgIC5yZXBsYWNlKC9bVFpdL2csICcgJylcbiAgICAgIC5yZXBsYWNlKC9cXC4vZywgJzonKVxuICAgICAgLnRyaW0oKTtcbiAgfSxcbn0pO1xuXG4vLyBzZXQgdGhlIGN1c3RvbSBjb2xvcnNcbmNvbnN0IGNvbG9yaXplRm9ybWF0ID0gZm9ybWF0LmNvbG9yaXplKHtcbiAgY29sb3JzLFxufSk7XG5cbi8vIFN0cmlwIHRoZSBjb2xvciBtYXJraW5nIHdpdGhpbiBtZXNzYWdlc1xuY29uc3Qgc3RyaXBDb2xvckZvcm1hdCA9IGZvcm1hdChmdW5jdGlvbiBzdHJpcENvbG9yIChpbmZvKSB7XG4gIGNvbnN0IGNvZGUgPSAvXFx1MDAxYlxcWyhcXGQrKDtcXGQrKSopP20vZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG4gIGluZm8ubWVzc2FnZSA9IGluZm8ubWVzc2FnZS5yZXBsYWNlKGNvZGUsICcnKTtcbiAgcmV0dXJuIGluZm87XG59KSgpO1xuXG5mdW5jdGlvbiBjcmVhdGVDb25zb2xlVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5Db25zb2xlKSh7XG4gICAgLy8gYG5hbWVgIGlzIHVuc3VwcG9ydGVkIHBlciB3aW5zdG9uJ3MgdHlwZSBkZWNsYXJhdGlvbnNcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgbmFtZTogJ2NvbnNvbGUnLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgc3RkZXJyTGV2ZWxzOiBbJ2Vycm9yJ10sXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIGZvcm1hdChmdW5jdGlvbiBhZGp1c3REZWJ1ZyAoaW5mbykge1xuICAgICAgICAvLyBwcmVwZW5kIGRlYnVnIG1hcmtlciwgYW5kIHNoaWZ0IHRvIGBpbmZvYCBsb2cgbGV2ZWxcbiAgICAgICAgaWYgKGluZm8ubGV2ZWwgPT09ICdkZWJ1ZycpIHtcbiAgICAgICAgICBpbmZvLmxldmVsID0gJ2luZm8nO1xuICAgICAgICAgIGluZm8ubWVzc2FnZSA9IGBbZGVidWddICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICB9KSgpLFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgYXJncy5sb2dOb0NvbG9ycyA/IHN0cmlwQ29sb3JGb3JtYXQgOiBjb2xvcml6ZUZvcm1hdCxcbiAgICAgIGZvcm1hdC5wcmludGYoZnVuY3Rpb24gcHJpbnRJbmZvIChpbmZvKSB7XG4gICAgICAgIHJldHVybiBgJHthcmdzLmxvZ1RpbWVzdGFtcCA/IGAke2luZm8udGltZXN0YW1wfSAtIGAgOiAnJ30ke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRmlsZVRyYW5zcG9ydCAoYXJncywgbG9nTHZsKSB7XG4gIHJldHVybiBuZXcgKHRyYW5zcG9ydHMuRmlsZSkoe1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBuYW1lOiAnZmlsZScsXG4gICAgZmlsZW5hbWU6IGFyZ3MubG9nRmlsZSxcbiAgICBtYXhGaWxlczogMSxcbiAgICBoYW5kbGVFeGNlcHRpb25zOiB0cnVlLFxuICAgIGV4aXRPbkVycm9yOiBmYWxzZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgICBsZXZlbDogbG9nTHZsLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBzdHJpcENvbG9yRm9ybWF0LFxuICAgICAgdGltZXN0YW1wRm9ybWF0LFxuICAgICAgZm9ybWF0LnByaW50ZihmdW5jdGlvbiBwcmludEluZm8gKGluZm8pIHtcbiAgICAgICAgcmV0dXJuIGAke2luZm8udGltZXN0YW1wfSAke2luZm8ubWVzc2FnZX1gO1xuICAgICAgfSlcbiAgICApXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIdHRwVHJhbnNwb3J0IChhcmdzLCBsb2dMdmwpIHtcbiAgbGV0IGhvc3QgPSAnMTI3LjAuMC4xJztcbiAgbGV0IHBvcnQgPSA5MDAzO1xuXG4gIGlmIChhcmdzLndlYmhvb2subWF0Y2goJzonKSkge1xuICAgIGNvbnN0IGhvc3RBbmRQb3J0ID0gYXJncy53ZWJob29rLnNwbGl0KCc6Jyk7XG4gICAgaG9zdCA9IGhvc3RBbmRQb3J0WzBdO1xuICAgIHBvcnQgPSBwYXJzZUludChob3N0QW5kUG9ydFsxXSwgMTApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyAodHJhbnNwb3J0cy5IdHRwKSh7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIG5hbWU6ICdodHRwJyxcbiAgICBob3N0LFxuICAgIHBvcnQsXG4gICAgcGF0aDogJy8nLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gICAgZXhpdE9uRXJyb3I6IGZhbHNlLFxuICAgIGpzb246IGZhbHNlLFxuICAgIGxldmVsOiBsb2dMdmwsXG4gICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgIHN0cmlwQ29sb3JGb3JtYXQsXG4gICAgICBmb3JtYXQucHJpbnRmKGZ1bmN0aW9uIHByaW50SW5mbyAoaW5mbykge1xuICAgICAgICByZXR1cm4gYCR7aW5mby50aW1lc3RhbXB9ICR7aW5mby5tZXNzYWdlfWA7XG4gICAgICB9KVxuICAgICksXG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVUcmFuc3BvcnRzIChhcmdzKSB7XG4gIGxldCB0cmFuc3BvcnRzID0gW107XG4gIGxldCBjb25zb2xlTG9nTGV2ZWwgPSBudWxsO1xuICBsZXQgZmlsZUxvZ0xldmVsID0gbnVsbDtcblxuICBpZiAoYXJncy5sb2dsZXZlbCAmJiBhcmdzLmxvZ2xldmVsLm1hdGNoKCc6JykpIHtcbiAgICAvLyAtLWxvZy1sZXZlbCBhcmcgY2FuIG9wdGlvbmFsbHkgcHJvdmlkZSBkaWZmIGxvZ2dpbmcgbGV2ZWxzIGZvciBjb25zb2xlIGFuZCBmaWxlLCBzZXBhcmF0ZWQgYnkgYSBjb2xvblxuICAgIGNvbnN0IGx2bFBhaXIgPSBhcmdzLmxvZ2xldmVsLnNwbGl0KCc6Jyk7XG4gICAgY29uc29sZUxvZ0xldmVsID0gbHZsUGFpclswXSB8fCBjb25zb2xlTG9nTGV2ZWw7XG4gICAgZmlsZUxvZ0xldmVsID0gbHZsUGFpclsxXSB8fCBmaWxlTG9nTGV2ZWw7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZUxvZ0xldmVsID0gZmlsZUxvZ0xldmVsID0gYXJncy5sb2dsZXZlbDtcbiAgfVxuXG4gIHRyYW5zcG9ydHMucHVzaChjcmVhdGVDb25zb2xlVHJhbnNwb3J0KGFyZ3MsIGNvbnNvbGVMb2dMZXZlbCkpO1xuXG4gIGlmIChhcmdzLmxvZ0ZpbGUpIHtcbiAgICB0cnkge1xuICAgICAgLy8gaWYgd2UgZG9uJ3QgZGVsZXRlIHRoZSBsb2cgZmlsZSwgd2luc3RvbiB3aWxsIGFsd2F5cyBhcHBlbmQgYW5kIGl0IHdpbGwgZ3JvdyBpbmZpbml0ZWx5IGxhcmdlO1xuICAgICAgLy8gd2luc3RvbiBhbGxvd3MgZm9yIGxpbWl0aW5nIGxvZyBmaWxlIHNpemUsIGJ1dCBhcyBvZiA5LjIuMTQgdGhlcmUncyBhIHNlcmlvdXMgYnVnIHdoZW4gdXNpbmdcbiAgICAgIC8vIG1heEZpbGVzIGFuZCBtYXhTaXplIHRvZ2V0aGVyLiBodHRwczovL2dpdGh1Yi5jb20vZmxhdGlyb24vd2luc3Rvbi9pc3N1ZXMvMzk3XG4gICAgICBpZiAoYXdhaXQgZnMuZXhpc3RzKGFyZ3MubG9nRmlsZSkpIHtcbiAgICAgICAgYXdhaXQgZnMudW5saW5rKGFyZ3MubG9nRmlsZSk7XG4gICAgICB9XG5cbiAgICAgIHRyYW5zcG9ydHMucHVzaChjcmVhdGVGaWxlVHJhbnNwb3J0KGFyZ3MsIGZpbGVMb2dMZXZlbCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgVHJpZWQgdG8gYXR0YWNoIGxvZ2dpbmcgdG8gZmlsZSAnJHthcmdzLmxvZ0ZpbGV9JyBidXQgYW4gZXJyb3IgYCArXG4gICAgICAgICAgICAgICAgICBgb2NjdXJyZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChhcmdzLndlYmhvb2spIHtcbiAgICB0cnkge1xuICAgICAgdHJhbnNwb3J0cy5wdXNoKGNyZWF0ZUh0dHBUcmFuc3BvcnQoYXJncywgZmlsZUxvZ0xldmVsKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBUcmllZCB0byBhdHRhY2ggbG9nZ2luZyB0byBIdHRwIGF0ICR7YXJncy53ZWJob29rfSBidXQgYCArXG4gICAgICAgICAgICAgICAgICBgYW4gZXJyb3Igb2NjdXJyZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmFuc3BvcnRzO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0IChhcmdzKSB7XG4gIC8vIHNldCBkZSBmYWN0byBwYXJhbSBwYXNzZWQgdG8gdGltZXN0YW1wIGZ1bmN0aW9uXG4gIHVzZUxvY2FsVGltZVpvbmUgPSBhcmdzLmxvY2FsVGltZXpvbmU7XG5cbiAgLy8gY2xlYW4gdXAgaW4gY2FzZSB3ZSBoYXZlIGluaXRpYXRlZCBiZWZvcmUgc2luY2UgbnBtbG9nIGlzIGEgZ2xvYmFsIG9iamVjdFxuICBjbGVhcigpO1xuXG4gIGxvZyA9IGNyZWF0ZUxvZ2dlcih7XG4gICAgdHJhbnNwb3J0czogYXdhaXQgY3JlYXRlVHJhbnNwb3J0cyhhcmdzKSxcbiAgICBsZXZlbHMsXG4gIH0pO1xuXG4gIC8vIENhcHR1cmUgbG9ncyBlbWl0dGVkIHZpYSBucG1sb2cgYW5kIHBhc3MgdGhlbSB0aHJvdWdoIHdpbnN0b25cbiAgbnBtbG9nLm9uKCdsb2cnLCAobG9nT2JqKSA9PiB7XG4gICAgY29uc3Qgd2luc3RvbkxldmVsID0gbnBtVG9XaW5zdG9uTGV2ZWxzW2xvZ09iai5sZXZlbF0gfHwgJ2luZm8nO1xuICAgIGxldCBtc2cgPSBsb2dPYmoubWVzc2FnZTtcbiAgICBpZiAobG9nT2JqLnByZWZpeCkge1xuICAgICAgY29uc3QgcHJlZml4ID0gYFske2xvZ09iai5wcmVmaXh9XWA7XG4gICAgICBtc2cgPSBgJHthcmdzLmxvZ05vQ29sb3JzID8gcHJlZml4IDogcHJlZml4Lm1hZ2VudGF9ICR7bXNnfWA7XG4gICAgfVxuICAgIGxvZ1t3aW5zdG9uTGV2ZWxdKG1zZyk7XG4gICAgaWYgKGFyZ3MubG9nSGFuZGxlciAmJiBfLmlzRnVuY3Rpb24oYXJncy5sb2dIYW5kbGVyKSkge1xuICAgICAgYXJncy5sb2dIYW5kbGVyKGxvZ09iai5sZXZlbCwgbXNnKTtcbiAgICB9XG5cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNsZWFyICgpIHtcbiAgaWYgKGxvZykge1xuICAgIGZvciAobGV0IHRyYW5zcG9ydCBvZiBfLmtleXMobG9nLnRyYW5zcG9ydHMpKSB7XG4gICAgICBsb2cucmVtb3ZlKHRyYW5zcG9ydCk7XG4gICAgfVxuICB9XG4gIG5wbWxvZy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2xvZycpO1xufVxuXG5cbmV4cG9ydCB7IGluaXQsIGNsZWFyIH07XG5leHBvcnQgZGVmYXVsdCBpbml0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUFBLGdCQUFPQyxXQUFQLENBQW1CQyxlQUFuQjs7QUFDQUMsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRixlQUF4QjtBQUdBQSxnQkFBT0csS0FBUCxHQUFlLFFBQWY7QUFDQSxNQUFNQyxNQUFNLEdBQUc7RUFDYkMsS0FBSyxFQUFFLENBRE07RUFFYkMsSUFBSSxFQUFFLENBRk87RUFHYkMsSUFBSSxFQUFFLENBSE87RUFJYkMsS0FBSyxFQUFFO0FBSk0sQ0FBZjtBQU9BLE1BQU1DLE1BQU0sR0FBRztFQUNiSCxJQUFJLEVBQUUsTUFETztFQUViRCxLQUFLLEVBQUUsTUFGTTtFQUdiRSxJQUFJLEVBQUUsUUFITztFQUliQyxLQUFLLEVBQUU7QUFKTSxDQUFmO0FBT0EsTUFBTUUsa0JBQWtCLEdBQUc7RUFDekJDLEtBQUssRUFBRSxPQURrQjtFQUV6QkMsT0FBTyxFQUFFLE9BRmdCO0VBR3pCUCxLQUFLLEVBQUUsT0FIa0I7RUFJekJDLElBQUksRUFBRSxNQUptQjtFQUt6Qk8sSUFBSSxFQUFFLE1BTG1CO0VBTXpCTixJQUFJLEVBQUUsTUFObUI7RUFPekJDLEtBQUssRUFBRTtBQVBrQixDQUEzQjtBQVVBLElBQUlNLEdBQUcsR0FBRyxJQUFWO0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUcsS0FBdkI7O0FBR0EsTUFBTUMsZUFBZSxHQUFHQyxnQkFBT0MsU0FBUCxDQUFpQjtFQUN2Q0QsTUFBTSxHQUFJO0lBQ1IsSUFBSUUsSUFBSSxHQUFHLElBQUlDLElBQUosRUFBWDs7SUFDQSxJQUFJTCxnQkFBSixFQUFzQjtNQUNwQkksSUFBSSxHQUFHLElBQUlDLElBQUosQ0FBU0QsSUFBSSxDQUFDRSxPQUFMLEtBQWlC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
|