Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@sentry/angular-ivy

Package Overview
Dependencies
Maintainers
12
Versions
127
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sentry/angular-ivy - npm Package Compare versions

Comparing version 7.61.0 to 7.61.1

1

bundles/sentry-angular-ivy.umd.js

@@ -146,3 +146,2 @@ (function (global, factory) {

function SentryErrorHandler(options) {
/* indicates if we already registered our the afterSendEvent handler */
this._registeredAfterSendEventHandler = false;

@@ -149,0 +148,0 @@ this._options = Object.assign({ logErrors: true }, options);

3

esm2015/errorhandler.js

@@ -48,3 +48,2 @@ import { HttpErrorResponse } from '@angular/common/http';

constructor(options) {
/* indicates if we already registered our the afterSendEvent handler */
this._registeredAfterSendEventHandler = false;

@@ -135,2 +134,2 @@ this._options = Object.assign({ logErrors: true }, options);

export { createErrorHandler, SentryErrorHandler };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JoYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9yaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDOztBQWlCM0Msa0ZBQWtGO0FBQ2xGLFNBQVMsc0JBQXNCLENBQUMsS0FBYztJQUM1QywyRUFBMkU7SUFDM0Usd0RBQXdEO0lBQ3hELE9BQU8sS0FBSyxJQUFLLEtBQW9DLENBQUMsZUFBZTtRQUNuRSxDQUFDLENBQUUsS0FBb0MsQ0FBQyxlQUFlO1FBQ3ZELENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUF3QjtJQUN0RCx1R0FBdUc7SUFDdkcsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDekMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0tBQ3BCO0lBRUQsK0VBQStFO0lBQy9FLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7UUFDNUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztLQUM1QjtJQUVELHdFQUF3RTtJQUN4RSxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDbkMsT0FBTyx3QkFBd0IsS0FBSyxDQUFDLE1BQU0sZUFBZSxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUM7S0FD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QUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUIsQ0FBQyxjQUF1QjtRQUNqRCxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRCw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QztRQUVELHFEQUFxRDtRQUNyRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsNERBQTREO1FBQzVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Z0hBM0ZHLGtCQUFrQixrQkFNSyxxQkFBcUI7b0hBTjVDLGtCQUFrQixjQURFLE1BQU07NEZBQzFCLGtCQUFrQjtrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU9aLE1BQU07MkJBQUMscUJBQXFCOztBQXdGbEQ7O0dBRUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE1BQTRCO0lBQ3RELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB0eXBlIHsgRXJyb3JIYW5kbGVyIGFzIEFuZ3VsYXJFcnJvckhhbmRsZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gJ0BzZW50cnkvYnJvd3Nlcic7XG5pbXBvcnQgdHlwZSB7IEV2ZW50LCBTY29wZSB9IGZyb20gJ0BzZW50cnkvdHlwZXMnO1xuaW1wb3J0IHsgYWRkRXhjZXB0aW9uTWVjaGFuaXNtLCBpc1N0cmluZyB9IGZyb20gJ0BzZW50cnkvdXRpbHMnO1xuXG5pbXBvcnQgeyBydW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4vem9uZSc7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3Igb2YgdGhlIEFuZ3VsYXIgRXJyb3JIYW5kbGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVycm9ySGFuZGxlck9wdGlvbnMge1xuICBsb2dFcnJvcnM/OiBib29sZWFuO1xuICBzaG93RGlhbG9nPzogYm9vbGVhbjtcbiAgZGlhbG9nT3B0aW9ucz86IFNlbnRyeS5SZXBvcnREaWFsb2dPcHRpb25zO1xuICAvKipcbiAgICogQ3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIGVycm9yIGV4dHJhY3Rpb24gZnJvbSB0aGUgcmF3IHZhbHVlIGNhcHR1cmVkIGJ5IHRoZSBBbmd1bGFyLlxuICAgKiBAcGFyYW0gZXJyb3IgVmFsdWUgY2FwdHVyZWQgYnkgQW5ndWxhcidzIEVycm9ySGFuZGxlciBwcm92aWRlclxuICAgKiBAcGFyYW0gZGVmYXVsdEV4dHJhY3RvciBEZWZhdWx0IGltcGxlbWVudGF0aW9uIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGZhbGxiYWNrIGluIGNhc2Ugb2YgY3VzdG9tIGltcGxlbWVudGF0aW9uXG4gICAqL1xuICBleHRyYWN0b3I/KGVycm9yOiB1bmtub3duLCBkZWZhdWx0RXh0cmFjdG9yOiAoZXJyb3I6IHVua25vd24pID0+IHVua25vd24pOiB1bmtub3duO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWwvZXJyb3JzLnRzXG5mdW5jdGlvbiB0cnlUb1Vud3JhcFpvbmVqc0Vycm9yKGVycm9yOiB1bmtub3duKTogdW5rbm93biB8IEVycm9yIHtcbiAgLy8gVE9ETzogb25jZSBBbmd1bGFyMTQgaXMgdGhlIG1pbmltdW0gcmVxdWlyZW1lbnQgRVJST1JfT1JJR0lOQUxfRVJST1IgYW5kXG4gIC8vICBnZXRPcmlnaW5hbEVycm9yIGZyb20gZXJyb3IudHMgY2FuIGJlIHVzZWQgZGlyZWN0bHkuXG4gIHJldHVybiBlcnJvciAmJiAoZXJyb3IgYXMgeyBuZ09yaWdpbmFsRXJyb3I6IEVycm9yIH0pLm5nT3JpZ2luYWxFcnJvclxuICAgID8gKGVycm9yIGFzIHsgbmdPcmlnaW5hbEVycm9yOiBFcnJvciB9KS5uZ09yaWdpbmFsRXJyb3JcbiAgICA6IGVycm9yO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SHR0cE1vZHVsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IHN0cmluZyB8IEVycm9yIHtcbiAgLy8gVGhlIGBlcnJvcmAgcHJvcGVydHkgb2YgaHR0cCBleGNlcHRpb24gY2FuIGJlIGVpdGhlciBhbiBgRXJyb3JgIG9iamVjdCwgd2hpY2ggd2UgY2FuIHVzZSBkaXJlY3RseS4uLlxuICBpZiAoaXNFcnJvck9yRXJyb3JMaWtlT2JqZWN0KGVycm9yLmVycm9yKSkge1xuICAgIHJldHVybiBlcnJvci5lcnJvcjtcbiAgfVxuXG4gIC8vIC4uLiBvciBhbmBFcnJvckV2ZW50YCwgd2hpY2ggY2FuIHByb3ZpZGUgdXMgd2l0aCB0aGUgbWVzc2FnZSBidXQgbm8gc3RhY2suLi5cbiAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCAmJiBlcnJvci5lcnJvci5tZXNzYWdlKSB7XG4gICAgcmV0dXJuIGVycm9yLmVycm9yLm1lc3NhZ2U7XG4gIH1cblxuICAvLyAuLi5vciB0aGUgcmVxdWVzdCBib2R5IGl0c2VsZiwgd2hpY2ggd2UgY2FuIHVzZSBhcyBhIG1lc3NhZ2UgaW5zdGVhZC5cbiAgaWYgKHR5cGVvZiBlcnJvci5lcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYFNlcnZlciByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSB3aXRoIGJvZHkgXCIke2Vycm9yLmVycm9yfVwiYDtcbiAgfVxuXG4gIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IGRldGFpbGVkIGluZm9ybWF0aW9uLCBmYWxsYmFjayB0byB0aGUgcmVxdWVzdCBtZXNzYWdlIGl0c2VsZi5cbiAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG59XG5cbnR5cGUgRXJyb3JDYW5kaWRhdGUgPSB7XG4gIG5hbWU/OiB1bmtub3duO1xuICBtZXNzYWdlPzogdW5rbm93bjtcbiAgc3RhY2s/OiB1bmtub3duO1xufTtcblxuZnVuY3Rpb24gaXNFcnJvck9yRXJyb3JMaWtlT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgRXJyb3Ige1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjYW5kaWRhdGUgPSB2YWx1ZSBhcyBFcnJvckNhbmRpZGF0ZTtcblxuICByZXR1cm4gKFxuICAgIGlzU3RyaW5nKGNhbmRpZGF0ZS5uYW1lKSAmJlxuICAgIGlzU3RyaW5nKGNhbmRpZGF0ZS5tZXNzYWdlKSAmJlxuICAgICh1bmRlZmluZWQgPT09IGNhbmRpZGF0ZS5zdGFjayB8fCBpc1N0cmluZyhjYW5kaWRhdGUuc3RhY2spKVxuICApO1xufVxuXG4vKipcbiAqIEltcGxlbWVudGF0aW9uIG9mIEFuZ3VsYXIncyBFcnJvckhhbmRsZXIgcHJvdmlkZXIgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIHRoZSBzdG9jayBvbmUuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5jbGFzcyBTZW50cnlFcnJvckhhbmRsZXIgaW1wbGVtZW50cyBBbmd1bGFyRXJyb3JIYW5kbGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vcHRpb25zOiBFcnJvckhhbmRsZXJPcHRpb25zO1xuXG4gIC8qIGluZGljYXRlcyBpZiB3ZSBhbHJlYWR5IHJlZ2lzdGVyZWQgb3VyIHRoZSBhZnRlclNlbmRFdmVudCBoYW5kbGVyICovXG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRBZnRlclNlbmRFdmVudEhhbmRsZXIgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoQEluamVjdCgnZXJyb3JIYW5kbGVyT3B0aW9ucycpIG9wdGlvbnM/OiBFcnJvckhhbmRsZXJPcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHtcbiAgICAgIGxvZ0Vycm9yczogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgY2FsbGVkIGZvciBldmVyeSB2YWx1ZSBjYXB0dXJlZCB0aHJvdWdoIHRoZSBFcnJvckhhbmRsZXJcbiAgICovXG4gIHB1YmxpYyBoYW5kbGVFcnJvcihlcnJvcjogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IGV4dHJhY3RlZEVycm9yID0gdGhpcy5fZXh0cmFjdEVycm9yKGVycm9yKSB8fCAnSGFuZGxlZCB1bmtub3duIGVycm9yJztcblxuICAgIC8vIENhcHR1cmUgaGFuZGxlZCBleGNlcHRpb24gYW5kIHNlbmQgaXQgdG8gU2VudHJ5LlxuICAgIGNvbnN0IGV2ZW50SWQgPSBydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oZXh0cmFjdGVkRXJyb3IsIChzY29wZTogU2NvcGUpID0+IHtcbiAgICAgICAgc2NvcGUuYWRkRXZlbnRQcm9jZXNzb3IoZXZlbnQgPT4ge1xuICAgICAgICAgIGFkZEV4Y2VwdGlvbk1lY2hhbmlzbShldmVudCwge1xuICAgICAgICAgICAgdHlwZTogJ2FuZ3VsYXInLFxuICAgICAgICAgICAgaGFuZGxlZDogZmFsc2UsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBzY29wZTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICAvLyBXaGVuIGluIGRldmVsb3BtZW50IG1vZGUsIGxvZyB0aGUgZXJyb3IgdG8gY29uc29sZSBmb3IgaW1tZWRpYXRlIGZlZWRiYWNrLlxuICAgIGlmICh0aGlzLl9vcHRpb25zLmxvZ0Vycm9ycykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXh0cmFjdGVkRXJyb3IpO1xuICAgIH1cblxuICAgIC8vIE9wdGlvbmFsbHkgc2hvdyB1c2VyIGRpYWxvZyB0byBwcm92aWRlIGRldGFpbHMgb24gd2hhdCBoYXBwZW5lZC5cbiAgICBpZiAodGhpcy5fb3B0aW9ucy5zaG93RGlhbG9nKSB7XG4gICAgICBjb25zdCBjbGllbnQgPSBTZW50cnkuZ2V0Q3VycmVudEh1YigpLmdldENsaWVudCgpO1xuXG4gICAgICBpZiAoY2xpZW50ICYmIGNsaWVudC5vbiAmJiAhdGhpcy5fcmVnaXN0ZXJlZEFmdGVyU2VuZEV2ZW50SGFuZGxlcikge1xuICAgICAgICBjbGllbnQub24oJ2FmdGVyU2VuZEV2ZW50JywgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGlmICghZXZlbnQudHlwZSkge1xuICAgICAgICAgICAgU2VudHJ5LnNob3dSZXBvcnREaWFsb2coeyAuLi50aGlzLl9vcHRpb25zLmRpYWxvZ09wdGlvbnMsIGV2ZW50SWQ6IGV2ZW50LmV2ZW50X2lkIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gV2Ugb25seSB3YW50IHRvIHJlZ2lzdGVyIHRoaXMgaG9vayBvbmNlIGluIHRoZSBsaWZldGltZSBvZiB0aGUgZXJyb3IgaGFuZGxlclxuICAgICAgICB0aGlzLl9yZWdpc3RlcmVkQWZ0ZXJTZW5kRXZlbnRIYW5kbGVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoIWNsaWVudCB8fCAhY2xpZW50Lm9uKSB7XG4gICAgICAgIFNlbnRyeS5zaG93UmVwb3J0RGlhbG9nKHsgLi4udGhpcy5fb3B0aW9ucy5kaWFsb2dPcHRpb25zLCBldmVudElkIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHB1bGwgYSBkZXNpcmVkIHZhbHVlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNhcHR1cmUgYW4gZXZlbnQgb3V0IG9mIHRoZSByYXcgdmFsdWUgY2FwdHVyZWQgYnkgRXJyb3JIYW5kbGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9leHRyYWN0RXJyb3IoZXJyb3I6IHVua25vd24pOiB1bmtub3duIHtcbiAgICAvLyBBbGxvdyBjdXN0b20gb3ZlcnJpZGVzIG9mIGV4dHJhY3RpbmcgZnVuY3Rpb25cbiAgICBpZiAodGhpcy5fb3B0aW9ucy5leHRyYWN0b3IpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRFeHRyYWN0b3IgPSB0aGlzLl9kZWZhdWx0RXh0cmFjdG9yLmJpbmQodGhpcyk7XG4gICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy5leHRyYWN0b3IoZXJyb3IsIGRlZmF1bHRFeHRyYWN0b3IpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0RXh0cmFjdG9yKGVycm9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIGVycm9yIGV4dHJhY3Rpb24gdGhhdCBoYW5kbGVzIGRlZmF1bHQgZXJyb3Igd3JhcHBpbmcsIEhUVFAgcmVzcG9uc2VzLCBFcnJvckV2ZW50IGFuZCBmZXcgb3RoZXIga25vd24gY2FzZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgX2RlZmF1bHRFeHRyYWN0b3IoZXJyb3JDYW5kaWRhdGU6IHVua25vd24pOiB1bmtub3duIHtcbiAgICBjb25zdCBlcnJvciA9IHRyeVRvVW53cmFwWm9uZWpzRXJyb3IoZXJyb3JDYW5kaWRhdGUpO1xuXG4gICAgLy8gSWYgaXQncyBodHRwIG1vZHVsZSBlcnJvciwgZXh0cmFjdCBhcyBtdWNoIGluZm9ybWF0aW9uIGZyb20gaXQgYXMgd2UgY2FuLlxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gZXh0cmFjdEh0dHBNb2R1bGVFcnJvcihlcnJvcik7XG4gICAgfVxuXG4gICAgLy8gV2UgY2FuIGhhbmRsZSBtZXNzYWdlcyBhbmQgRXJyb3Igb2JqZWN0cyBkaXJlY3RseS5cbiAgICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJyB8fCBpc0Vycm9yT3JFcnJvckxpa2VPYmplY3QoZXJyb3IpKSB7XG4gICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgLy8gTm90aGluZyB3YXMgZXh0cmFjdGVkLCBmYWxsYmFjayB0byBkZWZhdWx0IGVycm9yIG1lc3NhZ2UuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBhIHByZWNvbmZpZ3VyZWQgRXJyb3JIYW5kbGVyIHByb3ZpZGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFcnJvckhhbmRsZXIoY29uZmlnPzogRXJyb3JIYW5kbGVyT3B0aW9ucyk6IFNlbnRyeUVycm9ySGFuZGxlciB7XG4gIHJldHVybiBuZXcgU2VudHJ5RXJyb3JIYW5kbGVyKGNvbmZpZyk7XG59XG5cbmV4cG9ydCB7IGNyZWF0ZUVycm9ySGFuZGxlciwgU2VudHJ5RXJyb3JIYW5kbGVyIH07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JoYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9yaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDOztBQWlCM0Msa0ZBQWtGO0FBQ2xGLFNBQVMsc0JBQXNCLENBQUMsS0FBYztJQUM1QywyRUFBMkU7SUFDM0Usd0RBQXdEO0lBQ3hELE9BQU8sS0FBSyxJQUFLLEtBQW9DLENBQUMsZUFBZTtRQUNuRSxDQUFDLENBQUUsS0FBb0MsQ0FBQyxlQUFlO1FBQ3ZELENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUF3QjtJQUN0RCx1R0FBdUc7SUFDdkcsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDekMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0tBQ3BCO0lBRUQsK0VBQStFO0lBQy9FLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7UUFDNUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztLQUM1QjtJQUVELHdFQUF3RTtJQUN4RSxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDbkMsT0FBTyx3QkFBd0IsS0FBSyxDQUFDLE1BQU0sZUFBZSxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUM7S0FD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LFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxpQkFBaUIsQ0FBQyxjQUF1QjtRQUNqRCxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRCw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QztRQUVELHFEQUFxRDtRQUNyRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsNERBQTREO1FBQzVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Z0hBN0ZHLGtCQUFrQixrQkFNSyxxQkFBcUI7b0hBTjVDLGtCQUFrQixjQURFLE1BQU07NEZBQzFCLGtCQUFrQjtrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU9aLE1BQU07MkJBQUMscUJBQXFCOztBQTBGbEQ7O0dBRUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE1BQTRCO0lBQ3RELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB0eXBlIHsgRXJyb3JIYW5kbGVyIGFzIEFuZ3VsYXJFcnJvckhhbmRsZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gJ0BzZW50cnkvYnJvd3Nlcic7XG5pbXBvcnQgdHlwZSB7IEV2ZW50LCBTY29wZSB9IGZyb20gJ0BzZW50cnkvdHlwZXMnO1xuaW1wb3J0IHsgYWRkRXhjZXB0aW9uTWVjaGFuaXNtLCBpc1N0cmluZyB9IGZyb20gJ0BzZW50cnkvdXRpbHMnO1xuXG5pbXBvcnQgeyBydW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4vem9uZSc7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3Igb2YgdGhlIEFuZ3VsYXIgRXJyb3JIYW5kbGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVycm9ySGFuZGxlck9wdGlvbnMge1xuICBsb2dFcnJvcnM/OiBib29sZWFuO1xuICBzaG93RGlhbG9nPzogYm9vbGVhbjtcbiAgZGlhbG9nT3B0aW9ucz86IFNlbnRyeS5SZXBvcnREaWFsb2dPcHRpb25zO1xuICAvKipcbiAgICogQ3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIGVycm9yIGV4dHJhY3Rpb24gZnJvbSB0aGUgcmF3IHZhbHVlIGNhcHR1cmVkIGJ5IHRoZSBBbmd1bGFyLlxuICAgKiBAcGFyYW0gZXJyb3IgVmFsdWUgY2FwdHVyZWQgYnkgQW5ndWxhcidzIEVycm9ySGFuZGxlciBwcm92aWRlclxuICAgKiBAcGFyYW0gZGVmYXVsdEV4dHJhY3RvciBEZWZhdWx0IGltcGxlbWVudGF0aW9uIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGZhbGxiYWNrIGluIGNhc2Ugb2YgY3VzdG9tIGltcGxlbWVudGF0aW9uXG4gICAqL1xuICBleHRyYWN0b3I/KGVycm9yOiB1bmtub3duLCBkZWZhdWx0RXh0cmFjdG9yOiAoZXJyb3I6IHVua25vd24pID0+IHVua25vd24pOiB1bmtub3duO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWwvZXJyb3JzLnRzXG5mdW5jdGlvbiB0cnlUb1Vud3JhcFpvbmVqc0Vycm9yKGVycm9yOiB1bmtub3duKTogdW5rbm93biB8IEVycm9yIHtcbiAgLy8gVE9ETzogb25jZSBBbmd1bGFyMTQgaXMgdGhlIG1pbmltdW0gcmVxdWlyZW1lbnQgRVJST1JfT1JJR0lOQUxfRVJST1IgYW5kXG4gIC8vICBnZXRPcmlnaW5hbEVycm9yIGZyb20gZXJyb3IudHMgY2FuIGJlIHVzZWQgZGlyZWN0bHkuXG4gIHJldHVybiBlcnJvciAmJiAoZXJyb3IgYXMgeyBuZ09yaWdpbmFsRXJyb3I6IEVycm9yIH0pLm5nT3JpZ2luYWxFcnJvclxuICAgID8gKGVycm9yIGFzIHsgbmdPcmlnaW5hbEVycm9yOiBFcnJvciB9KS5uZ09yaWdpbmFsRXJyb3JcbiAgICA6IGVycm9yO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SHR0cE1vZHVsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IHN0cmluZyB8IEVycm9yIHtcbiAgLy8gVGhlIGBlcnJvcmAgcHJvcGVydHkgb2YgaHR0cCBleGNlcHRpb24gY2FuIGJlIGVpdGhlciBhbiBgRXJyb3JgIG9iamVjdCwgd2hpY2ggd2UgY2FuIHVzZSBkaXJlY3RseS4uLlxuICBpZiAoaXNFcnJvck9yRXJyb3JMaWtlT2JqZWN0KGVycm9yLmVycm9yKSkge1xuICAgIHJldHVybiBlcnJvci5lcnJvcjtcbiAgfVxuXG4gIC8vIC4uLiBvciBhbmBFcnJvckV2ZW50YCwgd2hpY2ggY2FuIHByb3ZpZGUgdXMgd2l0aCB0aGUgbWVzc2FnZSBidXQgbm8gc3RhY2suLi5cbiAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCAmJiBlcnJvci5lcnJvci5tZXNzYWdlKSB7XG4gICAgcmV0dXJuIGVycm9yLmVycm9yLm1lc3NhZ2U7XG4gIH1cblxuICAvLyAuLi5vciB0aGUgcmVxdWVzdCBib2R5IGl0c2VsZiwgd2hpY2ggd2UgY2FuIHVzZSBhcyBhIG1lc3NhZ2UgaW5zdGVhZC5cbiAgaWYgKHR5cGVvZiBlcnJvci5lcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYFNlcnZlciByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSB3aXRoIGJvZHkgXCIke2Vycm9yLmVycm9yfVwiYDtcbiAgfVxuXG4gIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IGRldGFpbGVkIGluZm9ybWF0aW9uLCBmYWxsYmFjayB0byB0aGUgcmVxdWVzdCBtZXNzYWdlIGl0c2VsZi5cbiAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG59XG5cbnR5cGUgRXJyb3JDYW5kaWRhdGUgPSB7XG4gIG5hbWU/OiB1bmtub3duO1xuICBtZXNzYWdlPzogdW5rbm93bjtcbiAgc3RhY2s/OiB1bmtub3duO1xufTtcblxuZnVuY3Rpb24gaXNFcnJvck9yRXJyb3JMaWtlT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgRXJyb3Ige1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjYW5kaWRhdGUgPSB2YWx1ZSBhcyBFcnJvckNhbmRpZGF0ZTtcblxuICByZXR1cm4gKFxuICAgIGlzU3RyaW5nKGNhbmRpZGF0ZS5uYW1lKSAmJlxuICAgIGlzU3RyaW5nKGNhbmRpZGF0ZS5tZXNzYWdlKSAmJlxuICAgICh1bmRlZmluZWQgPT09IGNhbmRpZGF0ZS5zdGFjayB8fCBpc1N0cmluZyhjYW5kaWRhdGUuc3RhY2spKVxuICApO1xufVxuXG4vKipcbiAqIEltcGxlbWVudGF0aW9uIG9mIEFuZ3VsYXIncyBFcnJvckhhbmRsZXIgcHJvdmlkZXIgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIHRoZSBzdG9jayBvbmUuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5jbGFzcyBTZW50cnlFcnJvckhhbmRsZXIgaW1wbGVtZW50cyBBbmd1bGFyRXJyb3JIYW5kbGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vcHRpb25zOiBFcnJvckhhbmRsZXJPcHRpb25zO1xuXG4gIC8qIGluZGljYXRlcyBpZiB3ZSBhbHJlYWR5IHJlZ2lzdGVyZWQgb3VyIHRoZSBhZnRlclNlbmRFdmVudCBoYW5kbGVyICovXG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRBZnRlclNlbmRFdmVudEhhbmRsZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vycm9ySGFuZGxlck9wdGlvbnMnKSBvcHRpb25zPzogRXJyb3JIYW5kbGVyT3B0aW9ucykge1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRBZnRlclNlbmRFdmVudEhhbmRsZXIgPSBmYWxzZTtcblxuICAgIHRoaXMuX29wdGlvbnMgPSB7XG4gICAgICBsb2dFcnJvcnM6IHRydWUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIGNhbGxlZCBmb3IgZXZlcnkgdmFsdWUgY2FwdHVyZWQgdGhyb3VnaCB0aGUgRXJyb3JIYW5kbGVyXG4gICAqL1xuICBwdWJsaWMgaGFuZGxlRXJyb3IoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBleHRyYWN0ZWRFcnJvciA9IHRoaXMuX2V4dHJhY3RFcnJvcihlcnJvcikgfHwgJ0hhbmRsZWQgdW5rbm93biBlcnJvcic7XG5cbiAgICAvLyBDYXB0dXJlIGhhbmRsZWQgZXhjZXB0aW9uIGFuZCBzZW5kIGl0IHRvIFNlbnRyeS5cbiAgICBjb25zdCBldmVudElkID0gcnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIFNlbnRyeS5jYXB0dXJlRXhjZXB0aW9uKGV4dHJhY3RlZEVycm9yLCAoc2NvcGU6IFNjb3BlKSA9PiB7XG4gICAgICAgIHNjb3BlLmFkZEV2ZW50UHJvY2Vzc29yKGV2ZW50ID0+IHtcbiAgICAgICAgICBhZGRFeGNlcHRpb25NZWNoYW5pc20oZXZlbnQsIHtcbiAgICAgICAgICAgIHR5cGU6ICdhbmd1bGFyJyxcbiAgICAgICAgICAgIGhhbmRsZWQ6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gc2NvcGU7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLy8gV2hlbiBpbiBkZXZlbG9wbWVudCBtb2RlLCBsb2cgdGhlIGVycm9yIHRvIGNvbnNvbGUgZm9yIGltbWVkaWF0ZSBmZWVkYmFjay5cbiAgICBpZiAodGhpcy5fb3B0aW9ucy5sb2dFcnJvcnMpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKGV4dHJhY3RlZEVycm9yKTtcbiAgICB9XG5cbiAgICAvLyBPcHRpb25hbGx5IHNob3cgdXNlciBkaWFsb2cgdG8gcHJvdmlkZSBkZXRhaWxzIG9uIHdoYXQgaGFwcGVuZWQuXG4gICAgaWYgKHRoaXMuX29wdGlvbnMuc2hvd0RpYWxvZykge1xuICAgICAgY29uc3QgY2xpZW50ID0gU2VudHJ5LmdldEN1cnJlbnRIdWIoKS5nZXRDbGllbnQoKTtcblxuICAgICAgaWYgKGNsaWVudCAmJiBjbGllbnQub24gJiYgIXRoaXMuX3JlZ2lzdGVyZWRBZnRlclNlbmRFdmVudEhhbmRsZXIpIHtcbiAgICAgICAgY2xpZW50Lm9uKCdhZnRlclNlbmRFdmVudCcsIChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIWV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgIFNlbnRyeS5zaG93UmVwb3J0RGlhbG9nKHsgLi4udGhpcy5fb3B0aW9ucy5kaWFsb2dPcHRpb25zLCBldmVudElkOiBldmVudC5ldmVudF9pZCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFdlIG9ubHkgd2FudCB0byByZWdpc3RlciB0aGlzIGhvb2sgb25jZSBpbiB0aGUgbGlmZXRpbWUgb2YgdGhlIGVycm9yIGhhbmRsZXJcbiAgICAgICAgdGhpcy5fcmVnaXN0ZXJlZEFmdGVyU2VuZEV2ZW50SGFuZGxlciA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKCFjbGllbnQgfHwgIWNsaWVudC5vbikge1xuICAgICAgICBTZW50cnkuc2hvd1JlcG9ydERpYWxvZyh7IC4uLnRoaXMuX29wdGlvbnMuZGlhbG9nT3B0aW9ucywgZXZlbnRJZCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBwdWxsIGEgZGVzaXJlZCB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBjYXB0dXJlIGFuIGV2ZW50IG91dCBvZiB0aGUgcmF3IHZhbHVlIGNhcHR1cmVkIGJ5IEVycm9ySGFuZGxlci5cbiAgICovXG4gIHByb3RlY3RlZCBfZXh0cmFjdEVycm9yKGVycm9yOiB1bmtub3duKTogdW5rbm93biB7XG4gICAgLy8gQWxsb3cgY3VzdG9tIG92ZXJyaWRlcyBvZiBleHRyYWN0aW5nIGZ1bmN0aW9uXG4gICAgaWYgKHRoaXMuX29wdGlvbnMuZXh0cmFjdG9yKSB7XG4gICAgICBjb25zdCBkZWZhdWx0RXh0cmFjdG9yID0gdGhpcy5fZGVmYXVsdEV4dHJhY3Rvci5iaW5kKHRoaXMpO1xuICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuZXh0cmFjdG9yKGVycm9yLCBkZWZhdWx0RXh0cmFjdG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdEV4dHJhY3RvcihlcnJvcik7XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBlcnJvciBleHRyYWN0aW9uIHRoYXQgaGFuZGxlcyBkZWZhdWx0IGVycm9yIHdyYXBwaW5nLCBIVFRQIHJlc3BvbnNlcywgRXJyb3JFdmVudCBhbmQgZmV3IG90aGVyIGtub3duIGNhc2VzLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9kZWZhdWx0RXh0cmFjdG9yKGVycm9yQ2FuZGlkYXRlOiB1bmtub3duKTogdW5rbm93biB7XG4gICAgY29uc3QgZXJyb3IgPSB0cnlUb1Vud3JhcFpvbmVqc0Vycm9yKGVycm9yQ2FuZGlkYXRlKTtcblxuICAgIC8vIElmIGl0J3MgaHR0cCBtb2R1bGUgZXJyb3IsIGV4dHJhY3QgYXMgbXVjaCBpbmZvcm1hdGlvbiBmcm9tIGl0IGFzIHdlIGNhbi5cbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIGV4dHJhY3RIdHRwTW9kdWxlRXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIFdlIGNhbiBoYW5kbGUgbWVzc2FnZXMgYW5kIEVycm9yIG9iamVjdHMgZGlyZWN0bHkuXG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycgfHwgaXNFcnJvck9yRXJyb3JMaWtlT2JqZWN0KGVycm9yKSkge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8vIE5vdGhpbmcgd2FzIGV4dHJhY3RlZCwgZmFsbGJhY2sgdG8gZGVmYXVsdCBlcnJvciBtZXNzYWdlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgYSBwcmVjb25maWd1cmVkIEVycm9ySGFuZGxlciBwcm92aWRlci5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRXJyb3JIYW5kbGVyKGNvbmZpZz86IEVycm9ySGFuZGxlck9wdGlvbnMpOiBTZW50cnlFcnJvckhhbmRsZXIge1xuICByZXR1cm4gbmV3IFNlbnRyeUVycm9ySGFuZGxlcihjb25maWcpO1xufVxuXG5leHBvcnQgeyBjcmVhdGVFcnJvckhhbmRsZXIsIFNlbnRyeUVycm9ySGFuZGxlciB9O1xuIl19

@@ -269,2 +269,2 @@ import { Directive, Injectable, Input, NgModule } from '@angular/core';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFjaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsZ0hBQWdIO0FBQ2hILCtFQUErRTtBQUMvRSw0RkFBNEY7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDOzs7QUFFM0MsSUFBSSwwQkFBbUMsQ0FBQztBQUN4QyxJQUFJLHVCQUFpRixDQUFDO0FBQ3RGLElBQUksdUNBQWdELENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLHNCQUFnRixFQUNoRiw2QkFBc0MsSUFBSSxFQUMxQyxtQ0FBNEMsSUFBSTtJQUVoRCwwQkFBMEIsR0FBRyxJQUFJLENBQUM7SUFDbEMsdUJBQXVC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SUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLE1BQU07U0FDUDtRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsWUFBWSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7S0FDeEM7SUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1saW5lcyAqL1xuaW1wb3J0IHR5cGUgeyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRXZlbnQsIFJvdXRlclN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbi8vIER1cGxpY2F0ZWQgaW1wb3J0IHRvIHdvcmsgYXJvdW5kIGEgVHlwZVNjcmlwdCBidWcgd2hlcmUgaXQnZCBjb21wbGFpbiB0aGF0IGBSb3V0ZXJgIGlzbid0IGltcG9ydGVkIGFzIGEgdHlwZS5cbi8vIFdlIG5lZWQgdG8gaW1wb3J0IGl0IGFzIGEgdmFsdWUgdG8gc2F0aXNmeSBBbmd1bGFyIGRlcGVuZGVuY3kgaW5qZWN0aW9uLiBTbzpcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWltcG9ydHMsIGltcG9ydC9uby1kdXBsaWNhdGVzXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRXJyb3IsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWR1cGxpY2F0ZXNcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUmVzb2x2ZUVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXRDdXJyZW50SHViLCBXSU5ET1cgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xuaW1wb3J0IHR5cGUgeyBTcGFuLCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25Db250ZXh0IH0gZnJvbSAnQHNlbnRyeS90eXBlcyc7XG5pbXBvcnQgeyBsb2dnZXIsIHN0cmlwVXJsUXVlcnlBbmRGcmFnbWVudCwgdGltZXN0YW1wSW5TZWNvbmRzIH0gZnJvbSAnQHNlbnRyeS91dGlscyc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFOR1VMQVJfSU5JVF9PUCwgQU5HVUxBUl9PUCwgQU5HVUxBUl9ST1VUSU5HX09QIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSVNfREVCVUdfQlVJTEQgfSBmcm9tICcuL2ZsYWdzJztcbmltcG9ydCB7IHJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi96b25lJztcblxubGV0IGluc3RydW1lbnRhdGlvbkluaXRpYWxpemVkOiBib29sZWFuO1xubGV0IHN0YXNoZWRTdGFydFRyYW5zYWN0aW9uOiAoY29udGV4dDogVHJhbnNhY3Rpb25Db250ZXh0KSA9PiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZDtcbmxldCBzdGFzaGVkU3RhcnRUcmFuc2FjdGlvbk9uTG9jYXRpb25DaGFuZ2U6IGJvb2xlYW47XG5cbi8qKlxuICogQ3JlYXRlcyByb3V0aW5nIGluc3RydW1lbnRhdGlvbiBmb3IgQW5ndWxhciBSb3V0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByb3V0aW5nSW5zdHJ1bWVudGF0aW9uKFxuICBjdXN0b21TdGFydFRyYW5zYWN0aW9uOiAoY29udGV4dDogVHJhbnNhY3Rpb25Db250ZXh0KSA9PiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCxcbiAgc3RhcnRUcmFuc2FjdGlvbk9uUGFnZUxvYWQ6IGJvb2xlYW4gPSB0cnVlLFxuICBzdGFydFRyYW5zYWN0aW9uT25Mb2NhdGlvbkNoYW5nZTogYm9vbGVhbiA9IHRydWUsXG4pOiB2b2lkIHtcbiAgaW5zdHJ1bWVudGF0aW9uSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICBzdGFzaGVkU3RhcnRUcmFuc2FjdGlvbiA9IGN1c3RvbVN0YXJ0VHJhbnNhY3Rpb247XG4gIHN0YXNoZWRTdGFydFRyYW5zYWN0aW9uT25Mb2NhdGlvbkNoYW5nZSA9IHN0YXJ0VHJhbnNhY3Rpb25PbkxvY2F0aW9uQ2hhbmdlO1xuXG4gIGlmIChzdGFydFRyYW5zYWN0aW9uT25QYWdlTG9hZCAmJiBXSU5ET1cgJiYgV0lORE9XLmxvY2F0aW9uKSB7XG4gICAgY3VzdG9tU3RhcnRUcmFuc2FjdGlvbih7XG4gICAgICBuYW1lOiBXSU5ET1cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICBvcDogJ3BhZ2Vsb2FkJyxcbiAgICAgIG1ldGFkYXRhOiB7IHNvdXJjZTogJ3VybCcgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaW5zdHJ1bWVudEFuZ3VsYXJSb3V0aW5nID0gcm91dGluZ0luc3RydW1lbnRhdGlvbjtcblxuLyoqXG4gKiBHcmFicyBhY3RpdmUgdHJhbnNhY3Rpb24gb2ZmIHNjb3BlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3RpdmVUcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGN1cnJlbnRIdWIgPSBnZXRDdXJyZW50SHViKCk7XG5cbiAgaWYgKGN1cnJlbnRIdWIpIHtcbiAgICBjb25zdCBzY29wZSA9IGN1cnJlbnRIdWIuZ2V0U2NvcGUoKTtcbiAgICBpZiAoc2NvcGUpIHtcbiAgICAgIHJldHVybiBzY29wZS5nZXRUcmFuc2FjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQW5ndWxhcidzIFNlcnZpY2UgcmVzcG9uc2libGUgZm9yIGhvb2tpbmcgaW50byBBbmd1bGFyIFJvdXRlciBhbmQgdHJhY2tpbmcgY3VycmVudCBuYXZpZ2F0aW9uIHByb2Nlc3MuXG4gKiBDcmVhdGVzIGEgbmV3IHRyYW5zYWN0aW9uIGZvciBldmVyeSByb3V0ZSBjaGFuZ2UgYW5kIG1lYXN1cmVzIGEgZHVyYXRpb24gb2Ygcm91dGluZyBwcm9jZXNzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRyYWNlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBuYXZTdGFydCQ6IE9ic2VydmFibGU8RXZlbnQ+ID0gdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uU3RhcnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgIHRhcChuYXZpZ2F0aW9uRXZlbnQgPT4ge1xuICAgICAgaWYgKCFpbnN0cnVtZW50YXRpb25Jbml0aWFsaXplZCkge1xuICAgICAgICBJU19ERUJVR19CVUlMRCAmJlxuICAgICAgICAgIGxvZ2dlci5lcnJvcignQW5ndWxhciBpbnRlZ3JhdGlvbiBoYXMgdHJhY2luZyBlbmFibGVkLCBidXQgVHJhY2luZyBpbnRlZ3JhdGlvbiBpcyBub3QgY29uZmlndXJlZCcpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0cmlwcGVkVXJsID0gc3RyaXBVcmxRdWVyeUFuZEZyYWdtZW50KG5hdmlnYXRpb25FdmVudC51cmwpO1xuICAgICAgbGV0IGFjdGl2ZVRyYW5zYWN0aW9uID0gZ2V0QWN0aXZlVHJhbnNhY3Rpb24oKTtcblxuICAgICAgaWYgKCFhY3RpdmVUcmFuc2FjdGlvbiAmJiBzdGFzaGVkU3RhcnRUcmFuc2FjdGlvbk9uTG9jYXRpb25DaGFuZ2UpIHtcbiAgICAgICAgYWN0aXZlVHJhbnNhY3Rpb24gPSBzdGFzaGVkU3RhcnRUcmFuc2FjdGlvbih7XG4gICAgICAgICAgbmFtZTogc3RyaXBwZWRVcmwsXG4gICAgICAgICAgb3A6ICduYXZpZ2F0aW9uJyxcbiAgICAgICAgICBtZXRhZGF0YTogeyBzb3VyY2U6ICd1cmwnIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWN0aXZlVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgaWYgKHRoaXMuX3JvdXRpbmdTcGFuKSB7XG4gICAgICAgICAgdGhpcy5fcm91dGluZ1NwYW4uZmluaXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcm91dGluZ1NwYW4gPSBhY3RpdmVUcmFuc2FjdGlvbi5zdGFydENoaWxkKHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7bmF2aWdhdGlvbkV2ZW50LnVybH1gLFxuICAgICAgICAgIG9wOiBBTkdVTEFSX1JPVVRJTkdfT1AsXG4gICAgICAgICAgdGFnczoge1xuICAgICAgICAgICAgJ3JvdXRpbmcuaW5zdHJ1bWVudGF0aW9uJzogJ0BzZW50cnkvYW5ndWxhcicsXG4gICAgICAgICAgICB1cmw6IHN0cmlwcGVkVXJsLFxuICAgICAgICAgICAgLi4uKG5hdmlnYXRpb25FdmVudC5uYXZpZ2F0aW9uVHJpZ2dlciAmJiB7XG4gICAgICAgICAgICAgIG5hdmlnYXRpb25UcmlnZ2VyOiBuYXZpZ2F0aW9uRXZlbnQubmF2aWdhdGlvblRyaWdnZXIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KSxcbiAgKTtcblxuICAvLyBUaGUgUmVzb2x2ZUVuZCBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBBbmd1bGFyIHJvdXRlciBoYXMgcmVzb2x2ZWQgdGhlIFVSTCBhbmRcbiAgLy8gdGhlIHBhcmFtZXRlcjwtPnZhbHVlIG1hcHBpbmcuIEl0IGhvbGRzIHRoZSBuZXcgcmVzb2x2ZWQgcm91dGVyIHN0YXRlIHdpdGhcbiAgLy8gdGhlIG1hcHBpbmcgYW5kIHRoZSBuZXcgVVJMLlxuICAvLyBPbmx5IEFmdGVyIHRoaXMgZXZlbnQsIHRoZSByb3V0ZSBpcyBhY3RpdmF0ZWQsIG1lYW5pbmcgdGhhdCB0aGUgdHJhbnNhY3Rpb25cbiAgLy8gY2FuIGJlIHVwZGF0ZWQgd2l0aCB0aGUgcGFyYW1ldGVyaXplZCByb3V0ZSBuYW1lIGJlZm9yZSBlLmcuIHRoZSByb3V0ZSdzIHJvb3RcbiAgLy8gY29tcG9uZW50IGlzIGluaXRpYWxpemVkLiBUaGlzIHNob3VsZCBiZSBlYXJseSBlbm91Z2ggYmVmb3JlIG91dGdvaW5nIHJlcXVlc3RzXG4gIC8vIGFyZSBtYWRlIGZyb20gdGhlIG5ldyByb3V0ZSwgd2l0aCB0aGUgZXhjZXB0aW9ucyBvZiByZXF1ZXN0cyBiZWluZyBtYWRlIGR1cmluZ1xuICAvLyBhIG5hdmlnYXRpb24uXG4gIHB1YmxpYyByZXNFbmQkOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX3JvdXRlci5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgUmVzb2x2ZUVuZCA9PiBldmVudCBpbnN0YW5jZW9mIFJlc29sdmVFbmQpLFxuICAgIHRhcChldmVudCA9PiB7XG4gICAgICBjb25zdCByb3V0ZSA9IGdldFBhcmFtZXRlcml6ZWRSb3V0ZUZyb21TbmFwc2hvdChcbiAgICAgICAgKGV2ZW50LnN0YXRlIGFzIHVua25vd24gYXMgUm91dGVyU3RhdGUgJiB7IHJvb3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSkucm9vdCxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gZ2V0QWN0aXZlVHJhbnNhY3Rpb24oKTtcbiAgICAgIC8vIFRPRE8gKHY4IC8gIzU0MTYpOiByZXZpc2l0IHRoZSBzb3VyY2UgY29uZGl0aW9uLiBEbyB3ZSB3YW50IHRvIG1ha2UgdGhlIHBhcmFtZXRlcml6ZWQgcm91dGUgdGhlIGRlZmF1bHQ/XG4gICAgICBpZiAodHJhbnNhY3Rpb24gJiYgdHJhbnNhY3Rpb24ubWV0YWRhdGEuc291cmNlID09PSAndXJsJykge1xuICAgICAgICB0cmFuc2FjdGlvbi5zZXROYW1lKHJvdXRlLCAncm91dGUnKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgKTtcblxuICBwdWJsaWMgbmF2RW5kJDogT2JzZXJ2YWJsZTxFdmVudD4gPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKFxuICAgICAgZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcixcbiAgICApLFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fcm91dGluZ1NwYW4pIHtcbiAgICAgICAgcnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgdGhpcy5fcm91dGluZ1NwYW4hLmZpbmlzaCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcm91dGluZ1NwYW4gPSBudWxsO1xuICAgICAgfVxuICAgIH0pLFxuICApO1xuXG4gIHByaXZhdGUgX3JvdXRpbmdTcGFuOiBTcGFuIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZCh0aGlzLm5hdlN0YXJ0JC5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnJlc0VuZCQuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQodGhpcy5uYXZFbmQkLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIHVzZWQgdG8gcHJldmVudCBtZW1vcnkgbGVha3Mgd2hlbiB0aGUgcm9vdCB2aWV3IGlzIGNyZWF0ZWQgYW5kIGRlc3Ryb3llZCBtdWx0aXBsZSB0aW1lcyxcbiAgICogc2luY2UgYHN1YnNjcmliZWAgY2FsbGJhY2tzIGNhcHR1cmUgYHRoaXNgIGFuZCBwcmV2ZW50IG1hbnkgcmVzb3VyY2VzIGZyb20gYmVpbmcgR0MnZC5cbiAgICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuXG5jb25zdCBVTktOT1dOX0NPTVBPTkVOVCA9ICd1bmtub3duJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNhcHR1cmUgaW5pdGlhbGl6YXRpb24gbGlmZWN5Y2xlIG9mIHRoZSB3aG9sZSBjb21wb25lbnQuXG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t0cmFjZV0nIH0pXG5leHBvcnQgY2xhc3MgVHJhY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoJ3RyYWNlJykgcHVibGljIGNvbXBvbmVudE5hbWU/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfdHJhY2luZ1NwYW4/OiBTcGFuO1xuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBPbkluaXQgbGlmZWN5Y2xlIG1ldGhvZFxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb21wb25lbnROYW1lKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudE5hbWUgPSBVTktOT1dOX0NPTVBPTkVOVDtcbiAgICB9XG5cbiAgICBjb25zdCBhY3RpdmVUcmFuc2FjdGlvbiA9IGdldEFjdGl2ZVRyYW5zYWN0aW9uKCk7XG4gICAgaWYgKGFjdGl2ZVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aGlzLl90cmFjaW5nU3BhbiA9IGFjdGl2ZVRyYW5zYWN0aW9uLnN0YXJ0Q2hpbGQoe1xuICAgICAgICBkZXNjcmlwdGlvbjogYDwke3RoaXMuY29tcG9uZW50TmFtZX0+YCxcbiAgICAgICAgb3A6IEFOR1VMQVJfSU5JVF9PUCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBBZnRlclZpZXdJbml0IGxpZmVjeWNsZSBtZXRob2RcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyYWNpbmdTcGFuKSB7XG4gICAgICB0aGlzLl90cmFjaW5nU3Bhbi5maW5pc2goKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBIG1vZHVsZSBzZXJ2ZXMgYXMgYSBzaW5nbGUgY29tcGlsYXRpb24gdW5pdCBmb3IgdGhlIGBUcmFjZURpcmVjdGl2ZWAgYW5kIGNhbiBiZSByZS11c2VkIGJ5IGFueSBvdGhlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RyYWNlRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1RyYWNlRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhY2VNb2R1bGUge31cblxuLyoqXG4gKiBEZWNvcmF0b3IgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIGluaXRpYWxpemF0aW9uIGxpZmVjeWNsZSBvZiB0aGUgd2hvbGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gVHJhY2VDbGFzc0RlY29yYXRvcigpOiBDbGFzc0RlY29yYXRvciB7XG4gIGxldCB0cmFjaW5nU3BhbjogU3BhbjtcblxuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZVxuICByZXR1cm4gdGFyZ2V0ID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbE9uSW5pdCA9IHRhcmdldC5wcm90b3R5cGUubmdPbkluaXQ7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0YXJnZXQucHJvdG90eXBlLm5nT25Jbml0ID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKTogUmV0dXJuVHlwZTx0eXBlb2Ygb3JpZ2luYWxPbkluaXQ+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZVRyYW5zYWN0aW9uID0gZ2V0QWN0aXZlVHJhbnNhY3Rpb24oKTtcbiAgICAgIGlmIChhY3RpdmVUcmFuc2FjdGlvbikge1xuICAgICAgICB0cmFjaW5nU3BhbiA9IGFjdGl2ZVRyYW5zYWN0aW9uLnN0YXJ0Q2hpbGQoe1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgPCR7dGFyZ2V0Lm5hbWV9PmAsXG4gICAgICAgICAgb3A6IEFOR1VMQVJfSU5JVF9PUCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAob3JpZ2luYWxPbkluaXQpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsT25Jbml0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBvcmlnaW5hbEFmdGVyVmlld0luaXQgPSB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0ID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKTogUmV0dXJuVHlwZTx0eXBlb2Ygb3JpZ2luYWxBZnRlclZpZXdJbml0PiB7XG4gICAgICBpZiAodHJhY2luZ1NwYW4pIHtcbiAgICAgICAgdHJhY2luZ1NwYW4uZmluaXNoKCk7XG4gICAgICB9XG4gICAgICBpZiAob3JpZ2luYWxBZnRlclZpZXdJbml0KSB7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbEFmdGVyVmlld0luaXQuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbiAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbn1cblxuLyoqXG4gKiBEZWNvcmF0b3IgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIGEgc2luZ2xlIGxpZmVjeWNsZSBtZXRob2RzIG9mIHRoZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUcmFjZU1ldGhvZERlY29yYXRvcigpOiBNZXRob2REZWNvcmF0b3Ige1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlLCBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHJldHVybiAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pOiBSZXR1cm5UeXBlPHR5cGVvZiBvcmlnaW5hbE1ldGhvZD4ge1xuICAgICAgY29uc3Qgbm93ID0gdGltZXN0YW1wSW5TZWNvbmRzKCk7XG4gICAgICBjb25zdCBhY3RpdmVUcmFuc2FjdGlvbiA9IGdldEFjdGl2ZVRyYW5zYWN0aW9uKCk7XG4gICAgICBpZiAoYWN0aXZlVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgYWN0aXZlVHJhbnNhY3Rpb24uc3RhcnRDaGlsZCh7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGA8JHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX0+YCxcbiAgICAgICAgICBlbmRUaW1lc3RhbXA6IG5vdyxcbiAgICAgICAgICBvcDogYCR7QU5HVUxBUl9PUH0uJHtTdHJpbmcocHJvcGVydHlLZXkpfWAsXG4gICAgICAgICAgc3RhcnRUaW1lc3RhbXA6IG5vdyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAob3JpZ2luYWxNZXRob2QpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICAgICAgICByZXR1cm4gb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBUYWtlcyB0aGUgcGFyYW1ldGVyaXplZCByb3V0ZSBmcm9tIGEgZ2l2ZW4gQWN0aXZhdGVkUm91dGVTbmFwc2hvdCBhbmQgY29uY2F0ZW5hdGVzIHRoZSBzbmFwc2hvdCdzXG4gKiBjaGlsZCByb3V0ZSB3aXRoIGl0cyBwYXJlbnQgdG8gcHJvZHVjZSB0aGUgY29tcGxldGUgcGFyYW1ldGVyaXplZCBVUkwgb2YgdGhlIGFjdGl2YXRlZCByb3V0ZS5cbiAqIFRoaXMgaGFwcGVucyByZWN1cnNpdmVseSB1bnRpbCB0aGUgbGFzdCBjaGlsZCAoaS5lLiB0aGUgZW5kIG9mIHRoZSBVUkwpIGlzIHJlYWNoZWQuXG4gKlxuICogQHBhcmFtIHJvdXRlIHRoZSBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IG9mIHdoaWNoIGl0cyBwYXRoIGFuZCBpdHMgY2hpbGQncyBwYXRoIGlzIGNvbmNhdGVuYXRlZFxuICpcbiAqIEByZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgcGFyYW1ldGVyaXplZCByb3V0ZSBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmFtZXRlcml6ZWRSb3V0ZUZyb21TbmFwc2hvdChyb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG5cbiAgbGV0IGN1cnJlbnRSb3V0ZSA9IHJvdXRlICYmIHJvdXRlLmZpcnN0Q2hpbGQ7XG4gIHdoaWxlIChjdXJyZW50Um91dGUpIHtcbiAgICBjb25zdCBwYXRoID0gY3VycmVudFJvdXRlICYmIGN1cnJlbnRSb3V0ZS5yb3V0ZUNvbmZpZyAmJiBjdXJyZW50Um91dGUucm91dGVDb25maWcucGF0aDtcbiAgICBpZiAocGF0aCA9PT0gbnVsbCB8fCBwYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHBhcnRzLnB1c2gocGF0aCk7XG4gICAgY3VycmVudFJvdXRlID0gY3VycmVudFJvdXRlLmZpcnN0Q2hpbGQ7XG4gIH1cblxuICBjb25zdCBmdWxsUGF0aCA9IHBhcnRzLmZpbHRlcihwYXJ0ID0+IHBhcnQpLmpvaW4oJy8nKTtcbiAgcmV0dXJuIGZ1bGxQYXRoID8gYC8ke2Z1bGxQYXRofS9gIDogJy8nO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFjaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsZ0hBQWdIO0FBQ2hILCtFQUErRTtBQUMvRSw0RkFBNEY7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDOzs7QUFFM0MsSUFBSSwwQkFBbUMsQ0FBQztBQUN4QyxJQUFJLHVCQUFpRixDQUFDO0FBQ3RGLElBQUksdUNBQWdELENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLHNCQUFnRixFQUNoRiw2QkFBc0MsSUFBSSxFQUMxQyxtQ0FBNEMsSUFBSTtJQUVoRCwwQkFBMEIsR0FBRyxJQUFJLENBQUM7SUFDbEMsdUJBQXVC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Q0FBQztRQUN2RixJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN2QyxNQUFNO1NBQ1A7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLFlBQVksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0tBQ3hDO0lBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGluZXMgKi9cbmltcG9ydCB0eXBlIHsgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0YWJsZSwgSW5wdXQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIEV2ZW50LCBSb3V0ZXJTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG4vLyBEdXBsaWNhdGVkIGltcG9ydCB0byB3b3JrIGFyb3VuZCBhIFR5cGVTY3JpcHQgYnVnIHdoZXJlIGl0J2QgY29tcGxhaW4gdGhhdCBgUm91dGVyYCBpc24ndCBpbXBvcnRlZCBhcyBhIHR5cGUuXG4vLyBXZSBuZWVkIHRvIGltcG9ydCBpdCBhcyBhIHZhbHVlIHRvIHNhdGlzZnkgQW5ndWxhciBkZXBlbmRlbmN5IGluamVjdGlvbi4gU286XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzLCBpbXBvcnQvbm8tZHVwbGljYXRlc1xuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVycm9yLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1kdXBsaWNhdGVzXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJlc29sdmVFbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0Q3VycmVudEh1YiwgV0lORE9XIH0gZnJvbSAnQHNlbnRyeS9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgU3BhbiwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQ29udGV4dCB9IGZyb20gJ0BzZW50cnkvdHlwZXMnO1xuaW1wb3J0IHsgbG9nZ2VyLCBzdHJpcFVybFF1ZXJ5QW5kRnJhZ21lbnQsIHRpbWVzdGFtcEluU2Vjb25kcyB9IGZyb20gJ0BzZW50cnkvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBTkdVTEFSX0lOSVRfT1AsIEFOR1VMQVJfT1AsIEFOR1VMQVJfUk9VVElOR19PUCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IElTX0RFQlVHX0JVSUxEIH0gZnJvbSAnLi9mbGFncyc7XG5pbXBvcnQgeyBydW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4vem9uZSc7XG5cbmxldCBpbnN0cnVtZW50YXRpb25Jbml0aWFsaXplZDogYm9vbGVhbjtcbmxldCBzdGFzaGVkU3RhcnRUcmFuc2FjdGlvbjogKGNvbnRleHQ6IFRyYW5zYWN0aW9uQ29udGV4dCkgPT4gVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQ7XG5sZXQgc3Rhc2hlZFN0YXJ0VHJhbnNhY3Rpb25PbkxvY2F0aW9uQ2hhbmdlOiBib29sZWFuO1xuXG4vKipcbiAqIENyZWF0ZXMgcm91dGluZyBpbnN0cnVtZW50YXRpb24gZm9yIEFuZ3VsYXIgUm91dGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm91dGluZ0luc3RydW1lbnRhdGlvbihcbiAgY3VzdG9tU3RhcnRUcmFuc2FjdGlvbjogKGNvbnRleHQ6IFRyYW5zYWN0aW9uQ29udGV4dCkgPT4gVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsXG4gIHN0YXJ0VHJhbnNhY3Rpb25PblBhZ2VMb2FkOiBib29sZWFuID0gdHJ1ZSxcbiAgc3RhcnRUcmFuc2FjdGlvbk9uTG9jYXRpb25DaGFuZ2U6IGJvb2xlYW4gPSB0cnVlLFxuKTogdm9pZCB7XG4gIGluc3RydW1lbnRhdGlvbkluaXRpYWxpemVkID0gdHJ1ZTtcbiAgc3Rhc2hlZFN0YXJ0VHJhbnNhY3Rpb24gPSBjdXN0b21TdGFydFRyYW5zYWN0aW9uO1xuICBzdGFzaGVkU3RhcnRUcmFuc2FjdGlvbk9uTG9jYXRpb25DaGFuZ2UgPSBzdGFydFRyYW5zYWN0aW9uT25Mb2NhdGlvbkNoYW5nZTtcblxuICBpZiAoc3RhcnRUcmFuc2FjdGlvbk9uUGFnZUxvYWQgJiYgV0lORE9XICYmIFdJTkRPVy5sb2NhdGlvbikge1xuICAgIGN1c3RvbVN0YXJ0VHJhbnNhY3Rpb24oe1xuICAgICAgbmFtZTogV0lORE9XLmxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgb3A6ICdwYWdlbG9hZCcsXG4gICAgICBtZXRhZGF0YTogeyBzb3VyY2U6ICd1cmwnIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc3RydW1lbnRBbmd1bGFyUm91dGluZyA9IHJvdXRpbmdJbnN0cnVtZW50YXRpb247XG5cbi8qKlxuICogR3JhYnMgYWN0aXZlIHRyYW5zYWN0aW9uIG9mZiBzY29wZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWN0aXZlVHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQge1xuICBjb25zdCBjdXJyZW50SHViID0gZ2V0Q3VycmVudEh1YigpO1xuXG4gIGlmIChjdXJyZW50SHViKSB7XG4gICAgY29uc3Qgc2NvcGUgPSBjdXJyZW50SHViLmdldFNjb3BlKCk7XG4gICAgaWYgKHNjb3BlKSB7XG4gICAgICByZXR1cm4gc2NvcGUuZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEFuZ3VsYXIncyBTZXJ2aWNlIHJlc3BvbnNpYmxlIGZvciBob29raW5nIGludG8gQW5ndWxhciBSb3V0ZXIgYW5kIHRyYWNraW5nIGN1cnJlbnQgbmF2aWdhdGlvbiBwcm9jZXNzLlxuICogQ3JlYXRlcyBhIG5ldyB0cmFuc2FjdGlvbiBmb3IgZXZlcnkgcm91dGUgY2hhbmdlIGFuZCBtZWFzdXJlcyBhIGR1cmF0aW9uIG9mIHJvdXRpbmcgcHJvY2Vzcy5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmFjZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgbmF2U3RhcnQkOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX3JvdXRlci5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgTmF2aWdhdGlvblN0YXJ0ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICB0YXAobmF2aWdhdGlvbkV2ZW50ID0+IHtcbiAgICAgIGlmICghaW5zdHJ1bWVudGF0aW9uSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgSVNfREVCVUdfQlVJTEQgJiZcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoJ0FuZ3VsYXIgaW50ZWdyYXRpb24gaGFzIHRyYWNpbmcgZW5hYmxlZCwgYnV0IFRyYWNpbmcgaW50ZWdyYXRpb24gaXMgbm90IGNvbmZpZ3VyZWQnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdHJpcHBlZFVybCA9IHN0cmlwVXJsUXVlcnlBbmRGcmFnbWVudChuYXZpZ2F0aW9uRXZlbnQudXJsKTtcbiAgICAgIGxldCBhY3RpdmVUcmFuc2FjdGlvbiA9IGdldEFjdGl2ZVRyYW5zYWN0aW9uKCk7XG5cbiAgICAgIGlmICghYWN0aXZlVHJhbnNhY3Rpb24gJiYgc3Rhc2hlZFN0YXJ0VHJhbnNhY3Rpb25PbkxvY2F0aW9uQ2hhbmdlKSB7XG4gICAgICAgIGFjdGl2ZVRyYW5zYWN0aW9uID0gc3Rhc2hlZFN0YXJ0VHJhbnNhY3Rpb24oe1xuICAgICAgICAgIG5hbWU6IHN0cmlwcGVkVXJsLFxuICAgICAgICAgIG9wOiAnbmF2aWdhdGlvbicsXG4gICAgICAgICAgbWV0YWRhdGE6IHsgc291cmNlOiAndXJsJyB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFjdGl2ZVRyYW5zYWN0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLl9yb3V0aW5nU3Bhbikge1xuICAgICAgICAgIHRoaXMuX3JvdXRpbmdTcGFuLmZpbmlzaCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JvdXRpbmdTcGFuID0gYWN0aXZlVHJhbnNhY3Rpb24uc3RhcnRDaGlsZCh7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGAke25hdmlnYXRpb25FdmVudC51cmx9YCxcbiAgICAgICAgICBvcDogQU5HVUxBUl9ST1VUSU5HX09QLFxuICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgICdyb3V0aW5nLmluc3RydW1lbnRhdGlvbic6ICdAc2VudHJ5L2FuZ3VsYXInLFxuICAgICAgICAgICAgdXJsOiBzdHJpcHBlZFVybCxcbiAgICAgICAgICAgIC4uLihuYXZpZ2F0aW9uRXZlbnQubmF2aWdhdGlvblRyaWdnZXIgJiYge1xuICAgICAgICAgICAgICBuYXZpZ2F0aW9uVHJpZ2dlcjogbmF2aWdhdGlvbkV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSksXG4gICk7XG5cbiAgLy8gVGhlIFJlc29sdmVFbmQgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgQW5ndWxhciByb3V0ZXIgaGFzIHJlc29sdmVkIHRoZSBVUkwgYW5kXG4gIC8vIHRoZSBwYXJhbWV0ZXI8LT52YWx1ZSBtYXBwaW5nLiBJdCBob2xkcyB0aGUgbmV3IHJlc29sdmVkIHJvdXRlciBzdGF0ZSB3aXRoXG4gIC8vIHRoZSBtYXBwaW5nIGFuZCB0aGUgbmV3IFVSTC5cbiAgLy8gT25seSBBZnRlciB0aGlzIGV2ZW50LCB0aGUgcm91dGUgaXMgYWN0aXZhdGVkLCBtZWFuaW5nIHRoYXQgdGhlIHRyYW5zYWN0aW9uXG4gIC8vIGNhbiBiZSB1cGRhdGVkIHdpdGggdGhlIHBhcmFtZXRlcml6ZWQgcm91dGUgbmFtZSBiZWZvcmUgZS5nLiB0aGUgcm91dGUncyByb290XG4gIC8vIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZC4gVGhpcyBzaG91bGQgYmUgZWFybHkgZW5vdWdoIGJlZm9yZSBvdXRnb2luZyByZXF1ZXN0c1xuICAvLyBhcmUgbWFkZSBmcm9tIHRoZSBuZXcgcm91dGUsIHdpdGggdGhlIGV4Y2VwdGlvbnMgb2YgcmVxdWVzdHMgYmVpbmcgbWFkZSBkdXJpbmdcbiAgLy8gYSBuYXZpZ2F0aW9uLlxuICBwdWJsaWMgcmVzRW5kJDogT2JzZXJ2YWJsZTxFdmVudD4gPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIFJlc29sdmVFbmQgPT4gZXZlbnQgaW5zdGFuY2VvZiBSZXNvbHZlRW5kKSxcbiAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgY29uc3Qgcm91dGUgPSBnZXRQYXJhbWV0ZXJpemVkUm91dGVGcm9tU25hcHNob3QoXG4gICAgICAgIChldmVudC5zdGF0ZSBhcyB1bmtub3duIGFzIFJvdXRlclN0YXRlICYgeyByb290OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0pLnJvb3QsXG4gICAgICApO1xuXG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGdldEFjdGl2ZVRyYW5zYWN0aW9uKCk7XG4gICAgICAvLyBUT0RPICh2OCAvICM1NDE2KTogcmV2aXNpdCB0aGUgc291cmNlIGNvbmRpdGlvbi4gRG8gd2Ugd2FudCB0byBtYWtlIHRoZSBwYXJhbWV0ZXJpemVkIHJvdXRlIHRoZSBkZWZhdWx0P1xuICAgICAgaWYgKHRyYW5zYWN0aW9uICYmIHRyYW5zYWN0aW9uLm1ldGFkYXRhLnNvdXJjZSA9PT0gJ3VybCcpIHtcbiAgICAgICAgdHJhbnNhY3Rpb24uc2V0TmFtZShyb3V0ZSwgJ3JvdXRlJyk7XG4gICAgICB9XG4gICAgfSksXG4gICk7XG5cbiAgcHVibGljIG5hdkVuZCQ6IE9ic2VydmFibGU8RXZlbnQ+ID0gdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcihcbiAgICAgIGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IsXG4gICAgKSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3JvdXRpbmdTcGFuKSB7XG4gICAgICAgIHJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgIHRoaXMuX3JvdXRpbmdTcGFuIS5maW5pc2goKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JvdXRpbmdTcGFuID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KSxcbiAgKTtcblxuICBwcml2YXRlIF9yb3V0aW5nU3BhbjogU3BhbiB8IG51bGw7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5fcm91dGluZ1NwYW4gPSBudWxsO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQodGhpcy5uYXZTdGFydCQuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQodGhpcy5yZXNFbmQkLnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMubmF2RW5kJC5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBpcyB1c2VkIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzIHdoZW4gdGhlIHJvb3QgdmlldyBpcyBjcmVhdGVkIGFuZCBkZXN0cm95ZWQgbXVsdGlwbGUgdGltZXMsXG4gICAqIHNpbmNlIGBzdWJzY3JpYmVgIGNhbGxiYWNrcyBjYXB0dXJlIGB0aGlzYCBhbmQgcHJldmVudCBtYW55IHJlc291cmNlcyBmcm9tIGJlaW5nIEdDJ2QuXG4gICAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuY29uc3QgVU5LTk9XTl9DT01QT05FTlQgPSAndW5rbm93bic7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIGluaXRpYWxpemF0aW9uIGxpZmVjeWNsZSBvZiB0aGUgd2hvbGUgY29tcG9uZW50LlxuICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbdHJhY2VdJyB9KVxuZXhwb3J0IGNsYXNzIFRyYWNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCd0cmFjZScpIHB1YmxpYyBjb21wb25lbnROYW1lPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3RyYWNpbmdTcGFuPzogU3BhbjtcblxuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gb2YgT25Jbml0IGxpZmVjeWNsZSBtZXRob2RcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50TmFtZSkge1xuICAgICAgdGhpcy5jb21wb25lbnROYW1lID0gVU5LTk9XTl9DT01QT05FTlQ7XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlVHJhbnNhY3Rpb24gPSBnZXRBY3RpdmVUcmFuc2FjdGlvbigpO1xuICAgIGlmIChhY3RpdmVUcmFuc2FjdGlvbikge1xuICAgICAgdGhpcy5fdHJhY2luZ1NwYW4gPSBhY3RpdmVUcmFuc2FjdGlvbi5zdGFydENoaWxkKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGA8JHt0aGlzLmNvbXBvbmVudE5hbWV9PmAsXG4gICAgICAgIG9wOiBBTkdVTEFSX0lOSVRfT1AsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gb2YgQWZ0ZXJWaWV3SW5pdCBsaWZlY3ljbGUgbWV0aG9kXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl90cmFjaW5nU3Bhbikge1xuICAgICAgdGhpcy5fdHJhY2luZ1NwYW4uZmluaXNoKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQSBtb2R1bGUgc2VydmVzIGFzIGEgc2luZ2xlIGNvbXBpbGF0aW9uIHVuaXQgZm9yIHRoZSBgVHJhY2VEaXJlY3RpdmVgIGFuZCBjYW4gYmUgcmUtdXNlZCBieSBhbnkgb3RoZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUcmFjZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtUcmFjZURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRyYWNlTW9kdWxlIHt9XG5cbi8qKlxuICogRGVjb3JhdG9yIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gY2FwdHVyZSBpbml0aWFsaXphdGlvbiBsaWZlY3ljbGUgb2YgdGhlIHdob2xlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRyYWNlQ2xhc3NEZWNvcmF0b3IoKTogQ2xhc3NEZWNvcmF0b3Ige1xuICBsZXQgdHJhY2luZ1NwYW46IFNwYW47XG5cbiAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtZnVuY3Rpb24tcmV0dXJuLXR5cGVcbiAgcmV0dXJuIHRhcmdldCA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxPbkluaXQgPSB0YXJnZXQucHJvdG90eXBlLm5nT25Jbml0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgdGFyZ2V0LnByb3RvdHlwZS5uZ09uSW5pdCA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSk6IFJldHVyblR5cGU8dHlwZW9mIG9yaWdpbmFsT25Jbml0PiB7XG4gICAgICBjb25zdCBhY3RpdmVUcmFuc2FjdGlvbiA9IGdldEFjdGl2ZVRyYW5zYWN0aW9uKCk7XG4gICAgICBpZiAoYWN0aXZlVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgdHJhY2luZ1NwYW4gPSBhY3RpdmVUcmFuc2FjdGlvbi5zdGFydENoaWxkKHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYDwke3RhcmdldC5uYW1lfT5gLFxuICAgICAgICAgIG9wOiBBTkdVTEFSX0lOSVRfT1AsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKG9yaWdpbmFsT25Jbml0KSB7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbE9uSW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgb3JpZ2luYWxBZnRlclZpZXdJbml0ID0gdGFyZ2V0LnByb3RvdHlwZS5uZ0FmdGVyVmlld0luaXQ7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdCA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSk6IFJldHVyblR5cGU8dHlwZW9mIG9yaWdpbmFsQWZ0ZXJWaWV3SW5pdD4ge1xuICAgICAgaWYgKHRyYWNpbmdTcGFuKSB7XG4gICAgICAgIHRyYWNpbmdTcGFuLmZpbmlzaCgpO1xuICAgICAgfVxuICAgICAgaWYgKG9yaWdpbmFsQWZ0ZXJWaWV3SW5pdCkge1xuICAgICAgICByZXR1cm4gb3JpZ2luYWxBZnRlclZpZXdJbml0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgIH07XG4gIH07XG4gIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzICovXG59XG5cbi8qKlxuICogRGVjb3JhdG9yIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gY2FwdHVyZSBhIHNpbmdsZSBsaWZlY3ljbGUgbWV0aG9kcyBvZiB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gVHJhY2VNZXRob2REZWNvcmF0b3IoKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSwgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICByZXR1cm4gKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKTogUmV0dXJuVHlwZTx0eXBlb2Ygb3JpZ2luYWxNZXRob2Q+IHtcbiAgICAgIGNvbnN0IG5vdyA9IHRpbWVzdGFtcEluU2Vjb25kcygpO1xuICAgICAgY29uc3QgYWN0aXZlVHJhbnNhY3Rpb24gPSBnZXRBY3RpdmVUcmFuc2FjdGlvbigpO1xuICAgICAgaWYgKGFjdGl2ZVRyYW5zYWN0aW9uKSB7XG4gICAgICAgIGFjdGl2ZVRyYW5zYWN0aW9uLnN0YXJ0Q2hpbGQoe1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgPCR7dGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWV9PmAsXG4gICAgICAgICAgZW5kVGltZXN0YW1wOiBub3csXG4gICAgICAgICAgb3A6IGAke0FOR1VMQVJfT1B9LiR7U3RyaW5nKHByb3BlcnR5S2V5KX1gLFxuICAgICAgICAgIHN0YXJ0VGltZXN0YW1wOiBub3csXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKG9yaWdpbmFsTWV0aG9kKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3NcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH07XG59XG5cbi8qKlxuICogVGFrZXMgdGhlIHBhcmFtZXRlcml6ZWQgcm91dGUgZnJvbSBhIGdpdmVuIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgYW5kIGNvbmNhdGVuYXRlcyB0aGUgc25hcHNob3Qnc1xuICogY2hpbGQgcm91dGUgd2l0aCBpdHMgcGFyZW50IHRvIHByb2R1Y2UgdGhlIGNvbXBsZXRlIHBhcmFtZXRlcml6ZWQgVVJMIG9mIHRoZSBhY3RpdmF0ZWQgcm91dGUuXG4gKiBUaGlzIGhhcHBlbnMgcmVjdXJzaXZlbHkgdW50aWwgdGhlIGxhc3QgY2hpbGQgKGkuZS4gdGhlIGVuZCBvZiB0aGUgVVJMKSBpcyByZWFjaGVkLlxuICpcbiAqIEBwYXJhbSByb3V0ZSB0aGUgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCBvZiB3aGljaCBpdHMgcGF0aCBhbmQgaXRzIGNoaWxkJ3MgcGF0aCBpcyBjb25jYXRlbmF0ZWRcbiAqXG4gKiBAcmV0dXJucyB0aGUgY29uY2F0ZW5hdGVkIHBhcmFtZXRlcml6ZWQgcm91dGUgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJhbWV0ZXJpemVkUm91dGVGcm9tU25hcHNob3Qocm91dGU/OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBjdXJyZW50Um91dGUgPSByb3V0ZSAmJiByb3V0ZS5maXJzdENoaWxkO1xuICB3aGlsZSAoY3VycmVudFJvdXRlKSB7XG4gICAgY29uc3QgcGF0aCA9IGN1cnJlbnRSb3V0ZSAmJiBjdXJyZW50Um91dGUucm91dGVDb25maWcgJiYgY3VycmVudFJvdXRlLnJvdXRlQ29uZmlnLnBhdGg7XG4gICAgaWYgKHBhdGggPT09IG51bGwgfHwgcGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBwYXJ0cy5wdXNoKHBhdGgpO1xuICAgIGN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5maXJzdENoaWxkO1xuICB9XG5cbiAgY29uc3QgZnVsbFBhdGggPSBwYXJ0cy5maWx0ZXIocGFydCA9PiBwYXJ0KS5qb2luKCcvJyk7XG4gIHJldHVybiBmdWxsUGF0aCA/IGAvJHtmdWxsUGF0aH0vYCA6ICcvJztcbn1cbiJdfQ==

@@ -130,3 +130,2 @@ import * as Sentry from '@sentry/browser';

constructor(options) {
/* indicates if we already registered our the afterSendEvent handler */
this._registeredAfterSendEventHandler = false;

@@ -133,0 +132,0 @@ this._options = Object.assign({ logErrors: true }, options);

{
"name": "@sentry/angular-ivy",
"version": "7.61.0",
"version": "7.61.1",
"description": "Official Sentry SDK for Angular with full Ivy Support",

@@ -24,5 +24,5 @@ "repository": "git://github.com/getsentry/sentry-javascript.git",

"dependencies": {
"@sentry/browser": "7.61.0",
"@sentry/types": "7.61.0",
"@sentry/utils": "7.61.0",
"@sentry/browser": "7.61.1",
"@sentry/types": "7.61.1",
"@sentry/utils": "7.61.1",
"tslib": "^2.4.1"

@@ -29,0 +29,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc