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

ngx-clipboard

Package Overview
Dependencies
Maintainers
1
Versions
167
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-clipboard - npm Package Compare versions

Comparing version 12.1.0-beta0 to 12.1.0-beta1

2

bundles/ngx-clipboard.umd.js

@@ -17,3 +17,3 @@ (function (global, factory) {

this.copySubject = new rxjs.Subject();
this.copyObservable$ = this.copySubject.asObservable();
this.copyResponse$ = this.copySubject.asObservable();
}

@@ -20,0 +20,0 @@ Object.defineProperty(ClipboardService.prototype, "isSupported", {

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("ngx-window-token"),require("rxjs"),require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define("ngx-clipboard",["exports","ngx-window-token","rxjs","@angular/common","@angular/core"],e):e(t["ngx-clipboard"]={},t.i2,t.rxjs,t.ng.common,t.ng.core)}(this,function(t,e,r,n,o){"use strict";var i=function(){function t(t,e){this.document=t,this.window=e,this.copySubject=new r.Subject,this.copyObservable$=this.copySubject.asObservable()}return Object.defineProperty(t.prototype,"isSupported",{get:function(){return!!this.document.queryCommandSupported&&!!this.document.queryCommandSupported("copy")&&!!this.window},enumerable:!0,configurable:!0}),t.prototype.isTargetValid=function(t){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){if(t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');return!0}throw new Error("Target should be input or textarea")},t.prototype.copyFromInputElement=function(t){try{this.selectTarget(t);var e=this.copyText();return this.clearSelection(t,this.window),e&&this.isCopySuccessInIE11()}catch(r){return!1}},t.prototype.isCopySuccessInIE11=function(){var t=this.window.clipboardData;return!(t&&t.getData&&!t.getData("Text"))},t.prototype.copyFromContent=function(t,e){if(void 0===e&&(e=this.window.document.body),this.tempTextArea&&!e.contains(this.tempTextArea)&&this.destroy(this.tempTextArea.parentElement),!this.tempTextArea){this.tempTextArea=this.createTempTextArea(this.document,this.window);try{e.appendChild(this.tempTextArea)}catch(r){throw new Error("Container should be a Dom element")}}return this.tempTextArea.value=t,this.copyFromInputElement(this.tempTextArea)},t.prototype.destroy=function(t){void 0===t&&(t=this.window.document.body),this.tempTextArea&&(t.removeChild(this.tempTextArea),this.tempTextArea=undefined)},t.prototype.selectTarget=function(t){return t.select(),t.setSelectionRange(0,t.value.length),t.value.length},t.prototype.copyText=function(){return this.document.execCommand("copy")},t.prototype.clearSelection=function(t,e){t&&t.focus(),e.getSelection().removeAllRanges()},t.prototype.createTempTextArea=function(t,e){var r,n="rtl"===t.documentElement.getAttribute("dir");(r=t.createElement("textarea")).style.fontSize="12pt",r.style.border="0",r.style.padding="0",r.style.margin="0",r.style.position="absolute",r.style[n?"right":"left"]="-9999px";var o=e.pageYOffset||t.documentElement.scrollTop;return r.style.top=o+"px",r.setAttribute("readonly",""),r},t.prototype.pushCopyReponse=function(t){this.copySubject.next(t)},t.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:o.Inject,args:[n.DOCUMENT]}]},{type:undefined,decorators:[{type:o.Optional},{type:o.Inject,args:[e.WINDOW]}]}]},t.ngInjectableDef=o.defineInjectable({factory:function(){return new t(o.inject(n.DOCUMENT),o.inject(e.WINDOW,8))},token:t,providedIn:"root"}),t}(),s=function(){function t(t){this.clipboardSrv=t,this.cbOnSuccess=new o.EventEmitter,this.cbOnError=new o.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.clipboardSrv.destroy(this.container)},t.prototype.onClick=function(t){this.clipboardSrv.isSupported?this.targetElm&&this.clipboardSrv.isTargetValid(this.targetElm)?this.handleResult(this.clipboardSrv.copyFromInputElement(this.targetElm),this.targetElm.value,t):this.cbContent&&this.handleResult(this.clipboardSrv.copyFromContent(this.cbContent,this.container),this.cbContent,t):this.handleResult(!1,undefined,t)},t.prototype.handleResult=function(t,e,r){var n={isSuccess:t,event:r};t?(n=Object.assign(n,{content:e,successMessage:this.cbSuccessMsg}),this.cbOnSuccess.emit(n)):this.cbOnError.emit(n),this.clipboardSrv.pushCopyReponse(n)},t.decorators=[{type:o.Directive,args:[{selector:"[ngxClipboard]"}]}],t.ctorParameters=function(){return[{type:i}]},t.propDecorators={targetElm:[{type:o.Input,args:["ngxClipboard"]}],container:[{type:o.Input}],cbContent:[{type:o.Input}],cbSuccessMsg:[{type:o.Input}],cbOnSuccess:[{type:o.Output}],cbOnError:[{type:o.Output}],onClick:[{type:o.HostListener,args:["click",["$event.target"]]}]},t}(),c=function(){function t(t,e,r){this._clipboardService=t,this._viewContainerRef=e,this._templateRef=r}return t.prototype.ngOnInit=function(){this._clipboardService.isSupported&&this._viewContainerRef.createEmbeddedView(this._templateRef)},t.decorators=[{type:o.Directive,args:[{selector:"[ngxClipboardIfSupported]"}]}],t.ctorParameters=function(){return[{type:i},{type:o.ViewContainerRef},{type:o.TemplateRef}]},t}(),a=function(){function t(){}return t.decorators=[{type:o.NgModule,args:[{imports:[n.CommonModule],declarations:[s,c],exports:[s,c]}]}],t}();t.ClipboardService=i,t.ClipboardDirective=s,t.ClipboardModule=a,t.ClipboardIfSupportedDirective=c,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("ngx-window-token"),require("rxjs"),require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define("ngx-clipboard",["exports","ngx-window-token","rxjs","@angular/common","@angular/core"],e):e(t["ngx-clipboard"]={},t.i2,t.rxjs,t.ng.common,t.ng.core)}(this,function(t,e,r,n,o){"use strict";var i=function(){function t(t,e){this.document=t,this.window=e,this.copySubject=new r.Subject,this.copyResponse$=this.copySubject.asObservable()}return Object.defineProperty(t.prototype,"isSupported",{get:function(){return!!this.document.queryCommandSupported&&!!this.document.queryCommandSupported("copy")&&!!this.window},enumerable:!0,configurable:!0}),t.prototype.isTargetValid=function(t){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){if(t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');return!0}throw new Error("Target should be input or textarea")},t.prototype.copyFromInputElement=function(t){try{this.selectTarget(t);var e=this.copyText();return this.clearSelection(t,this.window),e&&this.isCopySuccessInIE11()}catch(r){return!1}},t.prototype.isCopySuccessInIE11=function(){var t=this.window.clipboardData;return!(t&&t.getData&&!t.getData("Text"))},t.prototype.copyFromContent=function(t,e){if(void 0===e&&(e=this.window.document.body),this.tempTextArea&&!e.contains(this.tempTextArea)&&this.destroy(this.tempTextArea.parentElement),!this.tempTextArea){this.tempTextArea=this.createTempTextArea(this.document,this.window);try{e.appendChild(this.tempTextArea)}catch(r){throw new Error("Container should be a Dom element")}}return this.tempTextArea.value=t,this.copyFromInputElement(this.tempTextArea)},t.prototype.destroy=function(t){void 0===t&&(t=this.window.document.body),this.tempTextArea&&(t.removeChild(this.tempTextArea),this.tempTextArea=undefined)},t.prototype.selectTarget=function(t){return t.select(),t.setSelectionRange(0,t.value.length),t.value.length},t.prototype.copyText=function(){return this.document.execCommand("copy")},t.prototype.clearSelection=function(t,e){t&&t.focus(),e.getSelection().removeAllRanges()},t.prototype.createTempTextArea=function(t,e){var r,n="rtl"===t.documentElement.getAttribute("dir");(r=t.createElement("textarea")).style.fontSize="12pt",r.style.border="0",r.style.padding="0",r.style.margin="0",r.style.position="absolute",r.style[n?"right":"left"]="-9999px";var o=e.pageYOffset||t.documentElement.scrollTop;return r.style.top=o+"px",r.setAttribute("readonly",""),r},t.prototype.pushCopyReponse=function(t){this.copySubject.next(t)},t.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:o.Inject,args:[n.DOCUMENT]}]},{type:undefined,decorators:[{type:o.Optional},{type:o.Inject,args:[e.WINDOW]}]}]},t.ngInjectableDef=o.defineInjectable({factory:function(){return new t(o.inject(n.DOCUMENT),o.inject(e.WINDOW,8))},token:t,providedIn:"root"}),t}(),s=function(){function t(t){this.clipboardSrv=t,this.cbOnSuccess=new o.EventEmitter,this.cbOnError=new o.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.ngOnDestroy=function(){this.clipboardSrv.destroy(this.container)},t.prototype.onClick=function(t){this.clipboardSrv.isSupported?this.targetElm&&this.clipboardSrv.isTargetValid(this.targetElm)?this.handleResult(this.clipboardSrv.copyFromInputElement(this.targetElm),this.targetElm.value,t):this.cbContent&&this.handleResult(this.clipboardSrv.copyFromContent(this.cbContent,this.container),this.cbContent,t):this.handleResult(!1,undefined,t)},t.prototype.handleResult=function(t,e,r){var n={isSuccess:t,event:r};t?(n=Object.assign(n,{content:e,successMessage:this.cbSuccessMsg}),this.cbOnSuccess.emit(n)):this.cbOnError.emit(n),this.clipboardSrv.pushCopyReponse(n)},t.decorators=[{type:o.Directive,args:[{selector:"[ngxClipboard]"}]}],t.ctorParameters=function(){return[{type:i}]},t.propDecorators={targetElm:[{type:o.Input,args:["ngxClipboard"]}],container:[{type:o.Input}],cbContent:[{type:o.Input}],cbSuccessMsg:[{type:o.Input}],cbOnSuccess:[{type:o.Output}],cbOnError:[{type:o.Output}],onClick:[{type:o.HostListener,args:["click",["$event.target"]]}]},t}(),c=function(){function t(t,e,r){this._clipboardService=t,this._viewContainerRef=e,this._templateRef=r}return t.prototype.ngOnInit=function(){this._clipboardService.isSupported&&this._viewContainerRef.createEmbeddedView(this._templateRef)},t.decorators=[{type:o.Directive,args:[{selector:"[ngxClipboardIfSupported]"}]}],t.ctorParameters=function(){return[{type:i},{type:o.ViewContainerRef},{type:o.TemplateRef}]},t}(),p=function(){function t(){}return t.decorators=[{type:o.NgModule,args:[{imports:[n.CommonModule],declarations:[s,c],exports:[s,c]}]}],t}();t.ClipboardService=i,t.ClipboardDirective=s,t.ClipboardModule=p,t.ClipboardIfSupportedDirective=c,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-clipboard.umd.min.js.map

@@ -22,3 +22,3 @@ /**

this.copySubject = new Subject();
this.copyObservable$ = this.copySubject.asObservable();
this.copyResponse$ = this.copySubject.asObservable();
}

@@ -202,3 +202,3 @@ /**

/** @type {?} */
ClipboardService.prototype.copyObservable$;
ClipboardService.prototype.copyResponse$;
/** @type {?} */

@@ -212,2 +212,2 @@ ClipboardService.prototype.document;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNsaXBib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNsaXBib2FyZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtY2xpcGJvYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTTNDLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7O0lBTXpCLFlBQzZCLFFBQWEsRUFDRixNQUFXO1FBRHRCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDRixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBTDNDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQU0sQ0FBQztRQUNqQyxvQkFBZSxHQUFtQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBS3RFLENBQUM7Ozs7SUFFSixJQUFXLFdBQVc7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuSCxDQUFDOzs7OztJQUVNLGFBQWEsQ0FBQyxPQUErQztRQUNoRSxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsSUFBSSxPQUFPLFlBQVksbUJBQW1CLEVBQUU7WUFDL0UsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLG1GQUFtRixDQUFDLENBQUM7YUFDeEc7WUFDRCxP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QixNQUFNLFNBQUMsUUFBUTs0Q0FDZixRQUFRLFlBQUksTUFBTSxTQUFDLE1BQU07Ozs7Ozs7O0lBUDlCLHdDQUFzRDs7Ozs7SUFFdEQsdUNBQXdDOztJQUN4QywyQ0FBeUU7O0lBR3JFLG9DQUFzQzs7Ozs7SUFDdEMsa0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICduZ3gtd2luZG93LXRva2VuJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQ2xpcGJvYXJkUmVzcG9uc2UgfSBmcm9tICcuL2ludGVyZmFjZSc7XHJcblxyXG4vLyBUaGUgZm9sbG93aW5nIGNvZGUgaXMgaGVhdmlseSBjb3B5IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3plbm9yb2NoYS9jbGlwYm9hcmQuanNcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwYm9hcmRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgdGVtcFRleHRBcmVhOiBIVE1MVGV4dEFyZWFFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIHByaXZhdGUgY29weVN1YmplY3QgPSBuZXcgU3ViamVjdDx7fT4oKTtcclxuICAgIHB1YmxpYyBjb3B5T2JzZXJ2YWJsZSQ6IE9ic2VydmFibGU8e30+ID0gdGhpcy5jb3B5U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jdW1lbnQ6IGFueSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW5kb3c6IGFueVxyXG4gICAgKSB7fVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQgJiYgISF0aGlzLmRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZCgnY29weScpICYmICEhdGhpcy53aW5kb3c7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzVGFyZ2V0VmFsaWQoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHwgZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxUZXh0QXJlYUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgXCJ0YXJnZXRcIiBhdHRyaWJ1dGUuIFBsZWFzZSB1c2UgXCJyZWFkb25seVwiIGluc3RlYWQgb2YgXCJkaXNhYmxlZFwiIGF0dHJpYnV0ZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RhcmdldCBzaG91bGQgYmUgaW5wdXQgb3IgdGV4dGFyZWEnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGNvcHlGcm9tSW5wdXRFbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb3B5RnJvbUlucHV0RWxlbWVudCh0YXJnZXRFbG06IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RUYXJnZXQodGFyZ2V0RWxtKTtcclxuICAgICAgICAgICAgY29uc3QgcmUgPSB0aGlzLmNvcHlUZXh0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24odGFyZ2V0RWxtLCB0aGlzLndpbmRvdyk7XHJcbiAgICAgICAgICAgIHJldHVybiByZSAmJiB0aGlzLmlzQ29weVN1Y2Nlc3NJbklFMTEoKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMgaXMgZm9yIElFMTEgcmV0dXJuIHRydWUgZXZlbiBpZiBjb3B5IGZhaWxcclxuICAgIGlzQ29weVN1Y2Nlc3NJbklFMTEoKSB7XHJcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IHRoaXMud2luZG93WydjbGlwYm9hcmREYXRhJ107XHJcbiAgICAgICAgaWYgKGNsaXBib2FyZERhdGEgJiYgY2xpcGJvYXJkRGF0YS5nZXREYXRhKSB7XHJcbiAgICAgICAgICAgIGlmICghY2xpcGJvYXJkRGF0YS5nZXREYXRhKCdUZXh0JykpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYSBmYWtlIHRleHRhcmVhIGVsZW1lbnQsIHNldHMgaXRzIHZhbHVlIGZyb20gYHRleHRgIHByb3BlcnR5LFxyXG4gICAgICogYW5kIG1ha2VzIGEgc2VsZWN0aW9uIG9uIGl0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29weUZyb21Db250ZW50KGNvbnRlbnQ6IHN0cmluZywgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IHRoaXMud2luZG93LmRvY3VtZW50LmJvZHkpIHtcclxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgdGVtcCB0ZXh0YXJlYSBzdGlsbCBiZWxvbmdzIHRvIHRoZSBjdXJyZW50IGNvbnRhaW5lci5cclxuICAgICAgICAvLyBJbiBjYXNlIHdlIGhhdmUgbXVsdGlwbGUgcGxhY2VzIHVzaW5nIG5neC1jbGlwYm9hcmQsIG9uZSBpcyBpbiBhIG1vZGFsIHVzaW5nIGNvbnRhaW5lciBidXQgdGhlIG90aGVyIG9uZSBpcyBub3QuXHJcbiAgICAgICAgaWYgKHRoaXMudGVtcFRleHRBcmVhICYmICFjb250YWluZXIuY29udGFpbnModGhpcy50ZW1wVGV4dEFyZWEpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveSh0aGlzLnRlbXBUZXh0QXJlYS5wYXJlbnRFbGVtZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy50ZW1wVGV4dEFyZWEpIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wVGV4dEFyZWEgPSB0aGlzLmNyZWF0ZVRlbXBUZXh0QXJlYSh0aGlzLmRvY3VtZW50LCB0aGlzLndpbmRvdyk7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy50ZW1wVGV4dEFyZWEpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb250YWluZXIgc2hvdWxkIGJlIGEgRG9tIGVsZW1lbnQnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRlbXBUZXh0QXJlYS52YWx1ZSA9IGNvbnRlbnQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29weUZyb21JbnB1dEVsZW1lbnQodGhpcy50ZW1wVGV4dEFyZWEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHJlbW92ZSB0ZW1wb3JhcnkgdGV4dGFyZWEgaWYgYW55XHJcbiAgICBwdWJsaWMgZGVzdHJveShjb250YWluZXI6IEhUTUxFbGVtZW50ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuYm9keSkge1xyXG4gICAgICAgIGlmICh0aGlzLnRlbXBUZXh0QXJlYSkge1xyXG4gICAgICAgICAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy50ZW1wVGV4dEFyZWEpO1xyXG4gICAgICAgICAgICAvLyByZW1vdmVDaGlsZCBkb2Vzbid0IHJlbW92ZSB0aGUgcmVmZXJlbmNlIGZyb20gbWVtb3J5XHJcbiAgICAgICAgICAgIHRoaXMudGVtcFRleHRBcmVhID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBzZWxlY3QgdGhlIHRhcmdldCBodG1sIGlucHV0IGVsZW1lbnRcclxuICAgIHByaXZhdGUgc2VsZWN0VGFyZ2V0KGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlucHV0RWxlbWVudC5zZWxlY3QoKTtcclxuICAgICAgICBpbnB1dEVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIGlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb3B5VGV4dCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xyXG4gICAgfVxyXG4gICAgLy8gTW92ZXMgZm9jdXMgYXdheSBmcm9tIGB0YXJnZXRgIGFuZCBiYWNrIHRvIHRoZSB0cmlnZ2VyLCByZW1vdmVzIGN1cnJlbnQgc2VsZWN0aW9uLlxyXG4gICAgcHJpdmF0ZSBjbGVhclNlbGVjdGlvbihpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50LCB3aW5kb3c6IFdpbmRvdykge1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxyXG4gICAgICAgIGlucHV0RWxlbWVudCAmJiBpbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY3JlYXRlIGEgZmFrZSB0ZXh0YXJlYSBmb3IgY29weSBjb21tYW5kXHJcbiAgICBwcml2YXRlIGNyZWF0ZVRlbXBUZXh0QXJlYShkb2M6IERvY3VtZW50LCB3aW5kb3c6IFdpbmRvdyk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xyXG4gICAgICAgIGNvbnN0IGlzUlRMID0gZG9jLmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpID09PSAncnRsJztcclxuICAgICAgICBsZXQgdGE6IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XHJcbiAgICAgICAgdGEgPSBkb2MuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcclxuICAgICAgICAvLyBQcmV2ZW50IHpvb21pbmcgb24gaU9TXHJcbiAgICAgICAgdGEuc3R5bGUuZm9udFNpemUgPSAnMTJwdCc7XHJcbiAgICAgICAgLy8gUmVzZXQgYm94IG1vZGVsXHJcbiAgICAgICAgdGEuc3R5bGUuYm9yZGVyID0gJzAnO1xyXG4gICAgICAgIHRhLnN0eWxlLnBhZGRpbmcgPSAnMCc7XHJcbiAgICAgICAgdGEuc3R5bGUubWFyZ2luID0gJzAnO1xyXG4gICAgICAgIC8vIE1vdmUgZWxlbWVudCBvdXQgb2Ygc2NyZWVuIGhvcml6b250YWxseVxyXG4gICAgICAgIHRhLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgICAgICB0YS5zdHlsZVtpc1JUTCA/ICdyaWdodCcgOiAnbGVmdCddID0gJy05OTk5cHgnO1xyXG4gICAgICAgIC8vIE1vdmUgZWxlbWVudCB0byB0aGUgc2FtZSBwb3NpdGlvbiB2ZXJ0aWNhbGx5XHJcbiAgICAgICAgY29uc3QgeVBvc2l0aW9uID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgICAgIHRhLnN0eWxlLnRvcCA9IHlQb3NpdGlvbiArICdweCc7XHJcbiAgICAgICAgdGEuc2V0QXR0cmlidXRlKCdyZWFkb25seScsICcnKTtcclxuICAgICAgICByZXR1cm4gdGE7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQdXNoZXMgY29weSBvcGVyYXRpb24gcmVzcG9uc2UgdG8gY29weVN1YmplY3QsIHRvIHByb3ZpZGUgZ2xvYmFsIGFjY2Vzc1xyXG4gICAgICogdG8gdGhlIHJlc3BvbnNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcHVzaENvcHlSZXBvbnNlKHJlc3BvbnNlOiBJQ2xpcGJvYXJkUmVzcG9uc2UpIHtcclxuICAgICAgICB0aGlzLmNvcHlTdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNsaXBib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNsaXBib2FyZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtY2xpcGJvYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTTNDLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7O0lBTXpCLFlBQzZCLFFBQWEsRUFDRixNQUFXO1FBRHRCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDRixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBTDNDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFDakQsa0JBQWEsR0FBbUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUtwRixDQUFDOzs7O0lBRUosSUFBVyxXQUFXO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkgsQ0FBQzs7Ozs7SUFFTSxhQUFhLENBQUMsT0FBK0M7UUFDaEUsSUFBSSxPQUFPLFlBQVksZ0JBQWdCLElBQUksT0FBTyxZQUFZLG1CQUFtQixFQUFFO1lBQy9FLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRkFBbUYsQ0FBQyxDQUFDO2FBQ3hHO1lBQ0Qs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ekIsTUFBTSxTQUFDLFFBQVE7NENBQ2YsUUFBUSxZQUFJLE1BQU0sU0FBQyxNQUFNOzs7Ozs7OztJQVA5Qix3Q0FBc0Q7Ozs7O0lBRXRELHVDQUF3RDs7SUFDeEQseUNBQXVGOztJQUduRixvQ0FBc0M7Ozs7O0lBQ3RDLGtDQUErQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnbmd4LXdpbmRvdy10b2tlbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUNsaXBib2FyZFJlc3BvbnNlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuLy8gVGhlIGZvbGxvd2luZyBjb2RlIGlzIGhlYXZpbHkgY29weSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS96ZW5vcm9jaGEvY2xpcGJvYXJkLmpzXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHRlbXBUZXh0QXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwcml2YXRlIGNvcHlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8SUNsaXBib2FyZFJlc3BvbnNlPigpO1xyXG4gICAgcHVibGljIGNvcHlSZXNwb25zZSQ6IE9ic2VydmFibGU8SUNsaXBib2FyZFJlc3BvbnNlPiA9IHRoaXMuY29weVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBhbnksXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luZG93OiBhbnlcclxuICAgICkge31cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzU3VwcG9ydGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuZG9jdW1lbnQucXVlcnlDb21tYW5kU3VwcG9ydGVkICYmICEhdGhpcy5kb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoJ2NvcHknKSAmJiAhIXRoaXMud2luZG93O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1RhcmdldFZhbGlkKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFwidGFyZ2V0XCIgYXR0cmlidXRlLiBQbGVhc2UgdXNlIFwicmVhZG9ubHlcIiBpbnN0ZWFkIG9mIFwiZGlzYWJsZWRcIiBhdHRyaWJ1dGUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgc2hvdWxkIGJlIGlucHV0IG9yIHRleHRhcmVhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb3B5RnJvbUlucHV0RWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29weUZyb21JbnB1dEVsZW1lbnQodGFyZ2V0RWxtOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFyZ2V0KHRhcmdldEVsbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlID0gdGhpcy5jb3B5VGV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKHRhcmdldEVsbSwgdGhpcy53aW5kb3cpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmUgJiYgdGhpcy5pc0NvcHlTdWNjZXNzSW5JRTExKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzIGlzIGZvciBJRTExIHJldHVybiB0cnVlIGV2ZW4gaWYgY29weSBmYWlsXHJcbiAgICBpc0NvcHlTdWNjZXNzSW5JRTExKCkge1xyXG4gICAgICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSB0aGlzLndpbmRvd1snY2xpcGJvYXJkRGF0YSddO1xyXG4gICAgICAgIGlmIChjbGlwYm9hcmREYXRhICYmIGNsaXBib2FyZERhdGEuZ2V0RGF0YSkge1xyXG4gICAgICAgICAgICBpZiAoIWNsaXBib2FyZERhdGEuZ2V0RGF0YSgnVGV4dCcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgZmFrZSB0ZXh0YXJlYSBlbGVtZW50LCBzZXRzIGl0cyB2YWx1ZSBmcm9tIGB0ZXh0YCBwcm9wZXJ0eSxcclxuICAgICAqIGFuZCBtYWtlcyBhIHNlbGVjdGlvbiBvbiBpdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvcHlGcm9tQ29udGVudChjb250ZW50OiBzdHJpbmcsIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5ib2R5KSB7XHJcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIHRlbXAgdGV4dGFyZWEgc3RpbGwgYmVsb25ncyB0byB0aGUgY3VycmVudCBjb250YWluZXIuXHJcbiAgICAgICAgLy8gSW4gY2FzZSB3ZSBoYXZlIG11bHRpcGxlIHBsYWNlcyB1c2luZyBuZ3gtY2xpcGJvYXJkLCBvbmUgaXMgaW4gYSBtb2RhbCB1c2luZyBjb250YWluZXIgYnV0IHRoZSBvdGhlciBvbmUgaXMgbm90LlxyXG4gICAgICAgIGlmICh0aGlzLnRlbXBUZXh0QXJlYSAmJiAhY29udGFpbmVyLmNvbnRhaW5zKHRoaXMudGVtcFRleHRBcmVhKSkge1xyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3kodGhpcy50ZW1wVGV4dEFyZWEucGFyZW50RWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGVtcFRleHRBcmVhKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcFRleHRBcmVhID0gdGhpcy5jcmVhdGVUZW1wVGV4dEFyZWEodGhpcy5kb2N1bWVudCwgdGhpcy53aW5kb3cpO1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMudGVtcFRleHRBcmVhKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGFpbmVyIHNob3VsZCBiZSBhIERvbSBlbGVtZW50Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50ZW1wVGV4dEFyZWEudmFsdWUgPSBjb250ZW50O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvcHlGcm9tSW5wdXRFbGVtZW50KHRoaXMudGVtcFRleHRBcmVhKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZW1vdmUgdGVtcG9yYXJ5IHRleHRhcmVhIGlmIGFueVxyXG4gICAgcHVibGljIGRlc3Ryb3koY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IHRoaXMud2luZG93LmRvY3VtZW50LmJvZHkpIHtcclxuICAgICAgICBpZiAodGhpcy50ZW1wVGV4dEFyZWEpIHtcclxuICAgICAgICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMudGVtcFRleHRBcmVhKTtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlQ2hpbGQgZG9lc24ndCByZW1vdmUgdGhlIHJlZmVyZW5jZSBmcm9tIG1lbW9yeVxyXG4gICAgICAgICAgICB0aGlzLnRlbXBUZXh0QXJlYSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2VsZWN0IHRoZSB0YXJnZXQgaHRtbCBpbnB1dCBlbGVtZW50XHJcbiAgICBwcml2YXRlIHNlbGVjdFRhcmdldChpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpbnB1dEVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIGlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgpO1xyXG4gICAgICAgIHJldHVybiBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY29weVRleHQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIH1cclxuICAgIC8vIE1vdmVzIGZvY3VzIGF3YXkgZnJvbSBgdGFyZ2V0YCBhbmQgYmFjayB0byB0aGUgdHJpZ2dlciwgcmVtb3ZlcyBjdXJyZW50IHNlbGVjdGlvbi5cclxuICAgIHByaXZhdGUgY2xlYXJTZWxlY3Rpb24oaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCwgd2luZG93OiBXaW5kb3cpIHtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdW51c2VkLWV4cHJlc3Npb25cclxuICAgICAgICBpbnB1dEVsZW1lbnQgJiYgaW5wdXRFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNyZWF0ZSBhIGZha2UgdGV4dGFyZWEgZm9yIGNvcHkgY29tbWFuZFxyXG4gICAgcHJpdmF0ZSBjcmVhdGVUZW1wVGV4dEFyZWEoZG9jOiBEb2N1bWVudCwgd2luZG93OiBXaW5kb3cpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcclxuICAgICAgICBjb25zdCBpc1JUTCA9IGRvYy5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXInKSA9PT0gJ3J0bCc7XHJcbiAgICAgICAgbGV0IHRhOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgICAgIHRhID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgLy8gUHJldmVudCB6b29taW5nIG9uIGlPU1xyXG4gICAgICAgIHRhLnN0eWxlLmZvbnRTaXplID0gJzEycHQnO1xyXG4gICAgICAgIC8vIFJlc2V0IGJveCBtb2RlbFxyXG4gICAgICAgIHRhLnN0eWxlLmJvcmRlciA9ICcwJztcclxuICAgICAgICB0YS5zdHlsZS5wYWRkaW5nID0gJzAnO1xyXG4gICAgICAgIHRhLnN0eWxlLm1hcmdpbiA9ICcwJztcclxuICAgICAgICAvLyBNb3ZlIGVsZW1lbnQgb3V0IG9mIHNjcmVlbiBob3Jpem9udGFsbHlcclxuICAgICAgICB0YS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICAgICAgdGEuc3R5bGVbaXNSVEwgPyAncmlnaHQnIDogJ2xlZnQnXSA9ICctOTk5OXB4JztcclxuICAgICAgICAvLyBNb3ZlIGVsZW1lbnQgdG8gdGhlIHNhbWUgcG9zaXRpb24gdmVydGljYWxseVxyXG4gICAgICAgIGNvbnN0IHlQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcclxuICAgICAgICB0YS5zdHlsZS50b3AgPSB5UG9zaXRpb24gKyAncHgnO1xyXG4gICAgICAgIHRhLnNldEF0dHJpYnV0ZSgncmVhZG9ubHknLCAnJyk7XHJcbiAgICAgICAgcmV0dXJuIHRhO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHVzaGVzIGNvcHkgb3BlcmF0aW9uIHJlc3BvbnNlIHRvIGNvcHlTdWJqZWN0LCB0byBwcm92aWRlIGdsb2JhbCBhY2Nlc3NcclxuICAgICAqIHRvIHRoZSByZXNwb25zZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHB1c2hDb3B5UmVwb25zZShyZXNwb25zZTogSUNsaXBib2FyZFJlc3BvbnNlKSB7XHJcbiAgICAgICAgdGhpcy5jb3B5U3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcclxuICAgIH1cclxufVxyXG4iXX0=

@@ -18,3 +18,3 @@ /**

this.copySubject = new Subject();
this.copyObservable$ = this.copySubject.asObservable();
this.copyResponse$ = this.copySubject.asObservable();
}

@@ -282,3 +282,3 @@ Object.defineProperty(ClipboardService.prototype, "isSupported", {

/** @type {?} */
ClipboardService.prototype.copyObservable$;
ClipboardService.prototype.copyResponse$;
/** @type {?} */

@@ -292,2 +292,2 @@ ClipboardService.prototype.document;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNsaXBib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNsaXBib2FyZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtY2xpcGJvYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBSzNDO0lBT0ksMEJBQzZCLFFBQWEsRUFDRixNQUFXO1FBRHRCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDRixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBTDNDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQU0sQ0FBQztRQUNqQyxvQkFBZSxHQUFtQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBS3RFLENBQUM7SUFFSixzQkFBVyx5Q0FBVzs7OztRQUF0QjtZQUNJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkgsQ0FBQzs7O09BQUE7Ozs7O0lBRU0sd0NBQWE7Ozs7SUFBcEIsVUFBcUIsT0FBK0M7UUFDaEUsSUFBSSxPQUFPLFlBQVksZ0JBQWdCLElBQUksT0FBTyxZQUFZLG1CQUFtQixFQUFFO1lBQy9FLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRkFBbUYsQ0FBQyxDQUFDO2FBQ3hHO1lB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R0FBRyxJQUFJLENBQUM7UUFDaEMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7O0lBQ0ksMENBQWU7Ozs7OztJQUF0QixVQUF1QixRQUE0QjtRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOztnQkEvSEosVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7OztnREFRekIsTUFBTSxTQUFDLFFBQVE7Z0RBQ2YsUUFBUSxZQUFJLE1BQU0sU0FBQyxNQUFNOzs7MkJBbEJsQztDQXlJQyxBQWhJRCxJQWdJQztTQS9IWSxnQkFBZ0I7Ozs7OztJQUN6Qix3Q0FBc0Q7Ozs7O0lBRXRELHVDQUF3Qzs7SUFDeEMsMkNBQXlFOztJQUdyRSxvQ0FBc0M7Ozs7O0lBQ3RDLGtDQUErQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnbmd4LXdpbmRvdy10b2tlbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUNsaXBib2FyZFJlc3BvbnNlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuLy8gVGhlIGZvbGxvd2luZyBjb2RlIGlzIGhlYXZpbHkgY29weSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS96ZW5vcm9jaGEvY2xpcGJvYXJkLmpzXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHRlbXBUZXh0QXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwcml2YXRlIGNvcHlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8e30+KCk7XHJcbiAgICBwdWJsaWMgY29weU9ic2VydmFibGUkOiBPYnNlcnZhYmxlPHt9PiA9IHRoaXMuY29weVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBhbnksXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luZG93OiBhbnlcclxuICAgICkge31cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzU3VwcG9ydGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuZG9jdW1lbnQucXVlcnlDb21tYW5kU3VwcG9ydGVkICYmICEhdGhpcy5kb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoJ2NvcHknKSAmJiAhIXRoaXMud2luZG93O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1RhcmdldFZhbGlkKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFwidGFyZ2V0XCIgYXR0cmlidXRlLiBQbGVhc2UgdXNlIFwicmVhZG9ubHlcIiBpbnN0ZWFkIG9mIFwiZGlzYWJsZWRcIiBhdHRyaWJ1dGUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUYXJnZXQgc2hvdWxkIGJlIGlucHV0IG9yIHRleHRhcmVhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb3B5RnJvbUlucHV0RWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29weUZyb21JbnB1dEVsZW1lbnQodGFyZ2V0RWxtOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFyZ2V0KHRhcmdldEVsbSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlID0gdGhpcy5jb3B5VGV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKHRhcmdldEVsbSwgdGhpcy53aW5kb3cpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmUgJiYgdGhpcy5pc0NvcHlTdWNjZXNzSW5JRTExKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzIGlzIGZvciBJRTExIHJldHVybiB0cnVlIGV2ZW4gaWYgY29weSBmYWlsXHJcbiAgICBpc0NvcHlTdWNjZXNzSW5JRTExKCkge1xyXG4gICAgICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSB0aGlzLndpbmRvd1snY2xpcGJvYXJkRGF0YSddO1xyXG4gICAgICAgIGlmIChjbGlwYm9hcmREYXRhICYmIGNsaXBib2FyZERhdGEuZ2V0RGF0YSkge1xyXG4gICAgICAgICAgICBpZiAoIWNsaXBib2FyZERhdGEuZ2V0RGF0YSgnVGV4dCcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgZmFrZSB0ZXh0YXJlYSBlbGVtZW50LCBzZXRzIGl0cyB2YWx1ZSBmcm9tIGB0ZXh0YCBwcm9wZXJ0eSxcclxuICAgICAqIGFuZCBtYWtlcyBhIHNlbGVjdGlvbiBvbiBpdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvcHlGcm9tQ29udGVudChjb250ZW50OiBzdHJpbmcsIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5ib2R5KSB7XHJcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIHRlbXAgdGV4dGFyZWEgc3RpbGwgYmVsb25ncyB0byB0aGUgY3VycmVudCBjb250YWluZXIuXHJcbiAgICAgICAgLy8gSW4gY2FzZSB3ZSBoYXZlIG11bHRpcGxlIHBsYWNlcyB1c2luZyBuZ3gtY2xpcGJvYXJkLCBvbmUgaXMgaW4gYSBtb2RhbCB1c2luZyBjb250YWluZXIgYnV0IHRoZSBvdGhlciBvbmUgaXMgbm90LlxyXG4gICAgICAgIGlmICh0aGlzLnRlbXBUZXh0QXJlYSAmJiAhY29udGFpbmVyLmNvbnRhaW5zKHRoaXMudGVtcFRleHRBcmVhKSkge1xyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3kodGhpcy50ZW1wVGV4dEFyZWEucGFyZW50RWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGVtcFRleHRBcmVhKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcFRleHRBcmVhID0gdGhpcy5jcmVhdGVUZW1wVGV4dEFyZWEodGhpcy5kb2N1bWVudCwgdGhpcy53aW5kb3cpO1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMudGVtcFRleHRBcmVhKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29udGFpbmVyIHNob3VsZCBiZSBhIERvbSBlbGVtZW50Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50ZW1wVGV4dEFyZWEudmFsdWUgPSBjb250ZW50O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvcHlGcm9tSW5wdXRFbGVtZW50KHRoaXMudGVtcFRleHRBcmVhKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZW1vdmUgdGVtcG9yYXJ5IHRleHRhcmVhIGlmIGFueVxyXG4gICAgcHVibGljIGRlc3Ryb3koY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IHRoaXMud2luZG93LmRvY3VtZW50LmJvZHkpIHtcclxuICAgICAgICBpZiAodGhpcy50ZW1wVGV4dEFyZWEpIHtcclxuICAgICAgICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKHRoaXMudGVtcFRleHRBcmVhKTtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlQ2hpbGQgZG9lc24ndCByZW1vdmUgdGhlIHJlZmVyZW5jZSBmcm9tIG1lbW9yeVxyXG4gICAgICAgICAgICB0aGlzLnRlbXBUZXh0QXJlYSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2VsZWN0IHRoZSB0YXJnZXQgaHRtbCBpbnB1dCBlbGVtZW50XHJcbiAgICBwcml2YXRlIHNlbGVjdFRhcmdldChpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpbnB1dEVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIGlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgpO1xyXG4gICAgICAgIHJldHVybiBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY29weVRleHQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIH1cclxuICAgIC8vIE1vdmVzIGZvY3VzIGF3YXkgZnJvbSBgdGFyZ2V0YCBhbmQgYmFjayB0byB0aGUgdHJpZ2dlciwgcmVtb3ZlcyBjdXJyZW50IHNlbGVjdGlvbi5cclxuICAgIHByaXZhdGUgY2xlYXJTZWxlY3Rpb24oaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCwgd2luZG93OiBXaW5kb3cpIHtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdW51c2VkLWV4cHJlc3Npb25cclxuICAgICAgICBpbnB1dEVsZW1lbnQgJiYgaW5wdXRFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNyZWF0ZSBhIGZha2UgdGV4dGFyZWEgZm9yIGNvcHkgY29tbWFuZFxyXG4gICAgcHJpdmF0ZSBjcmVhdGVUZW1wVGV4dEFyZWEoZG9jOiBEb2N1bWVudCwgd2luZG93OiBXaW5kb3cpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcclxuICAgICAgICBjb25zdCBpc1JUTCA9IGRvYy5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXInKSA9PT0gJ3J0bCc7XHJcbiAgICAgICAgbGV0IHRhOiBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgICAgIHRhID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgLy8gUHJldmVudCB6b29taW5nIG9uIGlPU1xyXG4gICAgICAgIHRhLnN0eWxlLmZvbnRTaXplID0gJzEycHQnO1xyXG4gICAgICAgIC8vIFJlc2V0IGJveCBtb2RlbFxyXG4gICAgICAgIHRhLnN0eWxlLmJvcmRlciA9ICcwJztcclxuICAgICAgICB0YS5zdHlsZS5wYWRkaW5nID0gJzAnO1xyXG4gICAgICAgIHRhLnN0eWxlLm1hcmdpbiA9ICcwJztcclxuICAgICAgICAvLyBNb3ZlIGVsZW1lbnQgb3V0IG9mIHNjcmVlbiBob3Jpem9udGFsbHlcclxuICAgICAgICB0YS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICAgICAgdGEuc3R5bGVbaXNSVEwgPyAncmlnaHQnIDogJ2xlZnQnXSA9ICctOTk5OXB4JztcclxuICAgICAgICAvLyBNb3ZlIGVsZW1lbnQgdG8gdGhlIHNhbWUgcG9zaXRpb24gdmVydGljYWxseVxyXG4gICAgICAgIGNvbnN0IHlQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcclxuICAgICAgICB0YS5zdHlsZS50b3AgPSB5UG9zaXRpb24gKyAncHgnO1xyXG4gICAgICAgIHRhLnNldEF0dHJpYnV0ZSgncmVhZG9ubHknLCAnJyk7XHJcbiAgICAgICAgcmV0dXJuIHRhO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHVzaGVzIGNvcHkgb3BlcmF0aW9uIHJlc3BvbnNlIHRvIGNvcHlTdWJqZWN0LCB0byBwcm92aWRlIGdsb2JhbCBhY2Nlc3NcclxuICAgICAqIHRvIHRoZSByZXNwb25zZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHB1c2hDb3B5UmVwb25zZShyZXNwb25zZTogSUNsaXBib2FyZFJlc3BvbnNlKSB7XHJcbiAgICAgICAgdGhpcy5jb3B5U3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNsaXBib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWNsaXBib2FyZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtY2xpcGJvYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBSzNDO0lBT0ksMEJBQzZCLFFBQWEsRUFDRixNQUFXO1FBRHRCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDRixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBTDNDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFDakQsa0JBQWEsR0FBbUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUtwRixDQUFDO0lBRUosc0JBQVcseUNBQVc7Ozs7UUFBdEI7WUFDSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ25ILENBQUM7OztPQUFBOzs7OztJQUVNLHdDQUFhOzs7O0lBQXBCLFVBQXFCLE9BQStDO1FBQ2hFLElBQUksT0FBTyxZQUFZLGdCQUFnQixJQUFJLE9BQU8sWUFBWSxtQkFBbUIsRUFBRTtZQUMvRSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUZBQW1GLENBQUMsQ0FBQzthQUN4RztZ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LEdBQUcsSUFBSSxDQUFDO1FBQ2hDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7OztJQUNJLDBDQUFlOzs7Ozs7SUFBdEIsVUFBdUIsUUFBNEI7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Z0JBL0hKLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7Z0RBUXpCLE1BQU0sU0FBQyxRQUFRO2dEQUNmLFFBQVEsWUFBSSxNQUFNLFNBQUMsTUFBTTs7OzJCQWxCbEM7Q0F5SUMsQUFoSUQsSUFnSUM7U0EvSFksZ0JBQWdCOzs7Ozs7SUFDekIsd0NBQXNEOzs7OztJQUV0RCx1Q0FBd0Q7O0lBQ3hELHlDQUF1Rjs7SUFHbkYsb0NBQXNDOzs7OztJQUN0QyxrQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFdJTkRPVyB9IGZyb20gJ25neC13aW5kb3ctdG9rZW4nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElDbGlwYm9hcmRSZXNwb25zZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcclxuXHJcbi8vIFRoZSBmb2xsb3dpbmcgY29kZSBpcyBoZWF2aWx5IGNvcHkgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vemVub3JvY2hhL2NsaXBib2FyZC5qc1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIENsaXBib2FyZFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSB0ZW1wVGV4dEFyZWE6IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgcHJpdmF0ZSBjb3B5U3ViamVjdCA9IG5ldyBTdWJqZWN0PElDbGlwYm9hcmRSZXNwb25zZT4oKTtcclxuICAgIHB1YmxpYyBjb3B5UmVzcG9uc2UkOiBPYnNlcnZhYmxlPElDbGlwYm9hcmRSZXNwb25zZT4gPSB0aGlzLmNvcHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHB1YmxpYyBkb2N1bWVudDogYW55LFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbmRvdzogYW55XHJcbiAgICApIHt9XHJcblxyXG4gICAgcHVibGljIGdldCBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gISF0aGlzLmRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZCAmJiAhIXRoaXMuZG9jdW1lbnQucXVlcnlDb21tYW5kU3VwcG9ydGVkKCdjb3B5JykgJiYgISF0aGlzLndpbmRvdztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNUYXJnZXRWYWxpZChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCBlbGVtZW50IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkge1xyXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBcInRhcmdldFwiIGF0dHJpYnV0ZS4gUGxlYXNlIHVzZSBcInJlYWRvbmx5XCIgaW5zdGVhZCBvZiBcImRpc2FibGVkXCIgYXR0cmlidXRlJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGFyZ2V0IHNob3VsZCBiZSBpbnB1dCBvciB0ZXh0YXJlYScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogY29weUZyb21JbnB1dEVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvcHlGcm9tSW5wdXRFbGVtZW50KHRhcmdldEVsbTogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdFRhcmdldCh0YXJnZXRFbG0pO1xyXG4gICAgICAgICAgICBjb25zdCByZSA9IHRoaXMuY29weVRleHQoKTtcclxuICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbih0YXJnZXRFbG0sIHRoaXMud2luZG93KTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlICYmIHRoaXMuaXNDb3B5U3VjY2Vzc0luSUUxMSgpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGhpcyBpcyBmb3IgSUUxMSByZXR1cm4gdHJ1ZSBldmVuIGlmIGNvcHkgZmFpbFxyXG4gICAgaXNDb3B5U3VjY2Vzc0luSUUxMSgpIHtcclxuICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gdGhpcy53aW5kb3dbJ2NsaXBib2FyZERhdGEnXTtcclxuICAgICAgICBpZiAoY2xpcGJvYXJkRGF0YSAmJiBjbGlwYm9hcmREYXRhLmdldERhdGEpIHtcclxuICAgICAgICAgICAgaWYgKCFjbGlwYm9hcmREYXRhLmdldERhdGEoJ1RleHQnKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIGZha2UgdGV4dGFyZWEgZWxlbWVudCwgc2V0cyBpdHMgdmFsdWUgZnJvbSBgdGV4dGAgcHJvcGVydHksXHJcbiAgICAgKiBhbmQgbWFrZXMgYSBzZWxlY3Rpb24gb24gaXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb3B5RnJvbUNvbnRlbnQoY29udGVudDogc3RyaW5nLCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuYm9keSkge1xyXG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSB0ZW1wIHRleHRhcmVhIHN0aWxsIGJlbG9uZ3MgdG8gdGhlIGN1cnJlbnQgY29udGFpbmVyLlxyXG4gICAgICAgIC8vIEluIGNhc2Ugd2UgaGF2ZSBtdWx0aXBsZSBwbGFjZXMgdXNpbmcgbmd4LWNsaXBib2FyZCwgb25lIGlzIGluIGEgbW9kYWwgdXNpbmcgY29udGFpbmVyIGJ1dCB0aGUgb3RoZXIgb25lIGlzIG5vdC5cclxuICAgICAgICBpZiAodGhpcy50ZW1wVGV4dEFyZWEgJiYgIWNvbnRhaW5lci5jb250YWlucyh0aGlzLnRlbXBUZXh0QXJlYSkpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXN0cm95KHRoaXMudGVtcFRleHRBcmVhLnBhcmVudEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBUZXh0QXJlYSkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBUZXh0QXJlYSA9IHRoaXMuY3JlYXRlVGVtcFRleHRBcmVhKHRoaXMuZG9jdW1lbnQsIHRoaXMud2luZG93KTtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLnRlbXBUZXh0QXJlYSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnRhaW5lciBzaG91bGQgYmUgYSBEb20gZWxlbWVudCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGVtcFRleHRBcmVhLnZhbHVlID0gY29udGVudDtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb3B5RnJvbUlucHV0RWxlbWVudCh0aGlzLnRlbXBUZXh0QXJlYSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmVtb3ZlIHRlbXBvcmFyeSB0ZXh0YXJlYSBpZiBhbnlcclxuICAgIHB1YmxpYyBkZXN0cm95KGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5ib2R5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMudGVtcFRleHRBcmVhKSB7XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLnRlbXBUZXh0QXJlYSk7XHJcbiAgICAgICAgICAgIC8vIHJlbW92ZUNoaWxkIGRvZXNuJ3QgcmVtb3ZlIHRoZSByZWZlcmVuY2UgZnJvbSBtZW1vcnlcclxuICAgICAgICAgICAgdGhpcy50ZW1wVGV4dEFyZWEgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNlbGVjdCB0aGUgdGFyZ2V0IGh0bWwgaW5wdXQgZWxlbWVudFxyXG4gICAgcHJpdmF0ZSBzZWxlY3RUYXJnZXQoaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaW5wdXRFbGVtZW50LnNlbGVjdCgpO1xyXG4gICAgICAgIGlucHV0RWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoKTtcclxuICAgICAgICByZXR1cm4gaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNvcHlUZXh0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XHJcbiAgICB9XHJcbiAgICAvLyBNb3ZlcyBmb2N1cyBhd2F5IGZyb20gYHRhcmdldGAgYW5kIGJhY2sgdG8gdGhlIHRyaWdnZXIsIHJlbW92ZXMgY3VycmVudCBzZWxlY3Rpb24uXHJcbiAgICBwcml2YXRlIGNsZWFyU2VsZWN0aW9uKGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQsIHdpbmRvdzogV2luZG93KSB7XHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVudXNlZC1leHByZXNzaW9uXHJcbiAgICAgICAgaW5wdXRFbGVtZW50ICYmIGlucHV0RWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjcmVhdGUgYSBmYWtlIHRleHRhcmVhIGZvciBjb3B5IGNvbW1hbmRcclxuICAgIHByaXZhdGUgY3JlYXRlVGVtcFRleHRBcmVhKGRvYzogRG9jdW1lbnQsIHdpbmRvdzogV2luZG93KTogSFRNTFRleHRBcmVhRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3QgaXNSVEwgPSBkb2MuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlyJykgPT09ICdydGwnO1xyXG4gICAgICAgIGxldCB0YTogSFRNTFRleHRBcmVhRWxlbWVudDtcclxuICAgICAgICB0YSA9IGRvYy5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgICAgIC8vIFByZXZlbnQgem9vbWluZyBvbiBpT1NcclxuICAgICAgICB0YS5zdHlsZS5mb250U2l6ZSA9ICcxMnB0JztcclxuICAgICAgICAvLyBSZXNldCBib3ggbW9kZWxcclxuICAgICAgICB0YS5zdHlsZS5ib3JkZXIgPSAnMCc7XHJcbiAgICAgICAgdGEuc3R5bGUucGFkZGluZyA9ICcwJztcclxuICAgICAgICB0YS5zdHlsZS5tYXJnaW4gPSAnMCc7XHJcbiAgICAgICAgLy8gTW92ZSBlbGVtZW50IG91dCBvZiBzY3JlZW4gaG9yaXpvbnRhbGx5XHJcbiAgICAgICAgdGEuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICAgIHRhLnN0eWxlW2lzUlRMID8gJ3JpZ2h0JyA6ICdsZWZ0J10gPSAnLTk5OTlweCc7XHJcbiAgICAgICAgLy8gTW92ZSBlbGVtZW50IHRvIHRoZSBzYW1lIHBvc2l0aW9uIHZlcnRpY2FsbHlcclxuICAgICAgICBjb25zdCB5UG9zaXRpb24gPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICAgICAgdGEuc3R5bGUudG9wID0geVBvc2l0aW9uICsgJ3B4JztcclxuICAgICAgICB0YS5zZXRBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgJycpO1xyXG4gICAgICAgIHJldHVybiB0YTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFB1c2hlcyBjb3B5IG9wZXJhdGlvbiByZXNwb25zZSB0byBjb3B5U3ViamVjdCwgdG8gcHJvdmlkZSBnbG9iYWwgYWNjZXNzXHJcbiAgICAgKiB0byB0aGUgcmVzcG9uc2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwdXNoQ29weVJlcG9uc2UocmVzcG9uc2U6IElDbGlwYm9hcmRSZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMuY29weVN1YmplY3QubmV4dChyZXNwb25zZSk7XHJcbiAgICB9XHJcbn1cclxuIl19

@@ -20,3 +20,3 @@ import { WINDOW } from 'ngx-window-token';

this.copySubject = new Subject();
this.copyObservable$ = this.copySubject.asObservable();
this.copyResponse$ = this.copySubject.asObservable();
}

@@ -23,0 +23,0 @@ /**

@@ -16,3 +16,3 @@ import { WINDOW } from 'ngx-window-token';

this.copySubject = new Subject();
this.copyObservable$ = this.copySubject.asObservable();
this.copyResponse$ = this.copySubject.asObservable();
}

@@ -19,0 +19,0 @@ Object.defineProperty(ClipboardService.prototype, "isSupported", {

@@ -8,3 +8,3 @@ import { Observable } from 'rxjs';

private copySubject;
copyObservable$: Observable<{}>;
copyResponse$: Observable<IClipboardResponse>;
constructor(document: any, window: any);

@@ -11,0 +11,0 @@ readonly isSupported: boolean;

{
"name": "ngx-clipboard",
"description": "angular 2 clipboard",
"version": "12.1.0-beta0",
"version": "12.1.0-beta1",
"author": {

@@ -6,0 +6,0 @@ "name": "Sam Lin",

@@ -128,2 +128,25 @@ [![travis build](https://img.shields.io/travis/maxisam/ngx-clipboard.svg?style=flat-square)](https://travis-ci.org/maxisam/ngx-clipboard)

### Handle copy response globally
To handle copy response globally, you can subscribe to `copyResponse$` exposed by the `ClipboardService`
```
export class ClipboardResponseService {
constructor(
private _clipboardService: ClipboardService,
private _toasterService: ToasterService
) {
this.handleClipboardResponse();
}
handleClipboardResponse() {
this._clipboardService.copyObservable$.subscribe((res: IClipboardResponse) => {
if (res.isSuccess) {
this._toasterService.pop('success', undefined, res.successMessage);
}
});
}
}
```
## Example

@@ -130,0 +153,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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