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

ngx-gravatar

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-gravatar - npm Package Compare versions

Comparing version 7.2.1 to 7.2.2

7

bundles/ngx-gravatar.umd.js

@@ -263,3 +263,5 @@ (function (global, factory) {

this.renderer.listen(this.elementRef.nativeElement, 'error', function (event) {
_this.initializeAvatar(true); // Force using gravatar
if (!_this.isGravatarUsed) {
_this.initializeAvatar(true); // Force using gravatar
}
});

@@ -276,2 +278,3 @@ }

this.initialized = true;
this.isGravatarUsed = false;
};

@@ -337,2 +340,3 @@ /**

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -345,2 +349,3 @@ else { // this.preferGravatar == false

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -347,0 +352,0 @@ }

2

bundles/ngx-gravatar.umd.min.js

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

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("ts-md5/dist/md5")):"function"==typeof define&&define.amd?define("ngx-gravatar",["exports","@angular/core","ts-md5/dist/md5"],e):e(t["ngx-gravatar"]={},t.ng.core,t.md5)}(this,function(t,r,s){"use strict";var i=new r.InjectionToken("gravatarCustom.config"),e=function(){return(e=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var a in e=arguments[r])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t}).apply(this,arguments)},a={blank:"blank",identicon:"identicon",mm:"mm",mp:"mp",monsterid:"monsterid",retro:"retro",robohash:"robohash",wavatar:"wavatar"},n={g:"g",pg:"pg",r:"r",x:"x"},o={fallback:a.retro,size:40,cornerRadius:0,preferGravatar:!1,hasBorder:!1,borderColor:"#000000",borderRadius:"50%",borderStyle:"solid",borderWidth:1,round:!0,backgroundColor:"transparent",rating:n.g,ratio:2},d=function(){function t(t){this.gravatarConfig=t,this.defaultConfig=e({},o),this.gravatarConfig&&(this.gravatarConfig.rating=this.determineRating(this.gravatarConfig.rating),this.gravatarConfig.fallback=this.determineFallback(this.gravatarConfig.fallback),this.defaultConfig=e({},this.defaultConfig,this.gravatarConfig))}return t.prototype.getDefaultConfig=function(){return this.defaultConfig},t.prototype.generateGravatarUrl=function(t,e,r,i,a){var n;if(e)n=e;else{try{t=t.trim().toLowerCase()}catch(o){console.error("[ngx-gravatar] - Email ("+t+") is not a string. Empty string is used as a default email."),t=""}n=s.Md5.hashStr(t)}return"//www.gravatar.com/avatar/"+n+"?s="+(r=r||this.defaultConfig.size)+"&r="+(i=this.determineRating(i,this.defaultConfig.rating))+"&d="+(a=this.determineFallback(a,this.defaultConfig.fallback))},t.prototype.determineFallback=function(t,e){return void 0===e&&(e=o.fallback),t===undefined?e:a[t]===undefined?(console.error('[ngx-gravatar] - "'+t+'" is invalid gravatar fallback type. Default fallback "'+e+'" is used.'),e):t},t.prototype.determineRating=function(t,e){return void 0===e&&(e=o.rating),t===undefined?e:n[t]===undefined?(console.error('[ngx-gravatar] - "'+t+'" is invalid gravatar rating type. Default rating "'+e+'" is used.'),e):t},t.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Optional},{type:r.Inject,args:[i]}]}]},t.ngInjectableDef=r.defineInjectable({factory:function(){return new t(r.inject(i,8))},token:t,providedIn:"root"}),t}(),u=function(){function t(t,e,r){var i=this;this.elementRef=t,this.renderer=e,this.gravatarService=r,this.style={},this.initialized=!1,this.defaultConfig=this.gravatarService.getDefaultConfig(),this.renderer.listen(this.elementRef.nativeElement,"error",function(t){i.initializeAvatar(!0)})}return t.prototype.ngOnInit=function(){this.initializeAvatar(),this.initialized=!0},t.prototype.ngOnChanges=function(){this.initialized&&this.initializeAvatar()},t.prototype.setDefaultValues=function(){this.size=this.computeSize(),this.ratio=this.ratio===undefined?this.defaultConfig.ratio:this.ratio,this.requestedSize=this.size*this.ratio,this.round=this.round===undefined?this.defaultConfig.round:this.round,this.cornerRadius=this.cornerRadius===undefined?this.defaultConfig.cornerRadius:this.cornerRadius,this.preferGravatar=this.preferGravatar===undefined?this.defaultConfig.preferGravatar:this.preferGravatar},t.prototype.initializeAvatar=function(t){this.setDefaultValues();var e="";e=this.preferGravatar||t?this.gravatarService.generateGravatarUrl(this.email,this.md5Hash,this.requestedSize,this.rating,this.fallback):this.src?this.src:this.gravatarService.generateGravatarUrl(this.email,this.md5Hash,this.requestedSize,this.rating,this.fallback),this.renderer.setProperty(this.elementRef.nativeElement,"src",e),this.setStyle(this.avatarStyle())},t.prototype.computeSize=function(){var t=this.size===undefined?this.defaultConfig.size:this.size;if(this.style&&this.style.width)try{var e=this.style.width.trim();e.match(/^\d+px$/)&&(t=e.replace("px",""))}catch(r){return t}return t},t.prototype.avatarStyle=function(){var t={width:this.size+"px",height:this.size+"px",borderRadius:this.round?this.defaultConfig.borderRadius:this.cornerRadius+"px",borderStyle:this.defaultConfig.hasBorder||this.borderColor||this.borderWidth?this.defaultConfig.borderStyle:"none",borderColor:this.borderColor?this.borderColor:this.defaultConfig.borderColor,borderWidth:this.borderWidth?this.borderWidth+"px":this.defaultConfig.borderWidth+"px",backgroundColor:this.backgroundColor?this.backgroundColor:this.defaultConfig.backgroundColor};return e({},t,this.style)},t.prototype.setStyle=function(e){var r=this;Object.keys(e).forEach(function(t){r.renderer.setStyle(r.elementRef.nativeElement,t,e[t])})},t.decorators=[{type:r.Directive,args:[{selector:"[ngx-gravatar], [ngxGravatar]"}]}],t.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:d}]},t.propDecorators={src:[{type:r.Input}],email:[{type:r.Input}],md5Hash:[{type:r.Input}],size:[{type:r.Input}],fallback:[{type:r.Input}],rating:[{type:r.Input}],round:[{type:r.Input}],cornerRadius:[{type:r.Input}],borderColor:[{type:r.Input}],borderWidth:[{type:r.Input}],style:[{type:r.Input}],preferGravatar:[{type:r.Input}],backgroundColor:[{type:r.Input}],ratio:[{type:r.Input}]},t}(),l=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:i,useValue:t}]}},e.decorators=[{type:r.NgModule,args:[{declarations:[u],exports:[u]}]}],e}();t.GravatarModule=l,t.FALLBACK=a,t.RATING=n,t.ɵc=i,t.ɵa=u,t.ɵb=d,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("ts-md5/dist/md5")):"function"==typeof define&&define.amd?define("ngx-gravatar",["exports","@angular/core","ts-md5/dist/md5"],e):e(t["ngx-gravatar"]={},t.ng.core,t.md5)}(this,function(t,r,s){"use strict";var i=new r.InjectionToken("gravatarCustom.config"),e=function(){return(e=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var a in e=arguments[r])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t}).apply(this,arguments)},a={blank:"blank",identicon:"identicon",mm:"mm",mp:"mp",monsterid:"monsterid",retro:"retro",robohash:"robohash",wavatar:"wavatar"},n={g:"g",pg:"pg",r:"r",x:"x"},o={fallback:a.retro,size:40,cornerRadius:0,preferGravatar:!1,hasBorder:!1,borderColor:"#000000",borderRadius:"50%",borderStyle:"solid",borderWidth:1,round:!0,backgroundColor:"transparent",rating:n.g,ratio:2},d=function(){function t(t){this.gravatarConfig=t,this.defaultConfig=e({},o),this.gravatarConfig&&(this.gravatarConfig.rating=this.determineRating(this.gravatarConfig.rating),this.gravatarConfig.fallback=this.determineFallback(this.gravatarConfig.fallback),this.defaultConfig=e({},this.defaultConfig,this.gravatarConfig))}return t.prototype.getDefaultConfig=function(){return this.defaultConfig},t.prototype.generateGravatarUrl=function(t,e,r,i,a){var n;if(e)n=e;else{try{t=t.trim().toLowerCase()}catch(o){console.error("[ngx-gravatar] - Email ("+t+") is not a string. Empty string is used as a default email."),t=""}n=s.Md5.hashStr(t)}return"//www.gravatar.com/avatar/"+n+"?s="+(r=r||this.defaultConfig.size)+"&r="+(i=this.determineRating(i,this.defaultConfig.rating))+"&d="+(a=this.determineFallback(a,this.defaultConfig.fallback))},t.prototype.determineFallback=function(t,e){return void 0===e&&(e=o.fallback),t===undefined?e:a[t]===undefined?(console.error('[ngx-gravatar] - "'+t+'" is invalid gravatar fallback type. Default fallback "'+e+'" is used.'),e):t},t.prototype.determineRating=function(t,e){return void 0===e&&(e=o.rating),t===undefined?e:n[t]===undefined?(console.error('[ngx-gravatar] - "'+t+'" is invalid gravatar rating type. Default rating "'+e+'" is used.'),e):t},t.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Optional},{type:r.Inject,args:[i]}]}]},t.ngInjectableDef=r.defineInjectable({factory:function(){return new t(r.inject(i,8))},token:t,providedIn:"root"}),t}(),u=function(){function t(t,e,r){var i=this;this.elementRef=t,this.renderer=e,this.gravatarService=r,this.style={},this.initialized=!1,this.defaultConfig=this.gravatarService.getDefaultConfig(),this.renderer.listen(this.elementRef.nativeElement,"error",function(t){i.isGravatarUsed||i.initializeAvatar(!0)})}return t.prototype.ngOnInit=function(){this.initializeAvatar(),this.initialized=!0,this.isGravatarUsed=!1},t.prototype.ngOnChanges=function(){this.initialized&&this.initializeAvatar()},t.prototype.setDefaultValues=function(){this.size=this.computeSize(),this.ratio=this.ratio===undefined?this.defaultConfig.ratio:this.ratio,this.requestedSize=this.size*this.ratio,this.round=this.round===undefined?this.defaultConfig.round:this.round,this.cornerRadius=this.cornerRadius===undefined?this.defaultConfig.cornerRadius:this.cornerRadius,this.preferGravatar=this.preferGravatar===undefined?this.defaultConfig.preferGravatar:this.preferGravatar},t.prototype.initializeAvatar=function(t){this.setDefaultValues();var e="";this.preferGravatar||t?(e=this.gravatarService.generateGravatarUrl(this.email,this.md5Hash,this.requestedSize,this.rating,this.fallback),this.isGravatarUsed=!0):this.src?e=this.src:(e=this.gravatarService.generateGravatarUrl(this.email,this.md5Hash,this.requestedSize,this.rating,this.fallback),this.isGravatarUsed=!0),this.renderer.setProperty(this.elementRef.nativeElement,"src",e),this.setStyle(this.avatarStyle())},t.prototype.computeSize=function(){var t=this.size===undefined?this.defaultConfig.size:this.size;if(this.style&&this.style.width)try{var e=this.style.width.trim();e.match(/^\d+px$/)&&(t=e.replace("px",""))}catch(r){return t}return t},t.prototype.avatarStyle=function(){var t={width:this.size+"px",height:this.size+"px",borderRadius:this.round?this.defaultConfig.borderRadius:this.cornerRadius+"px",borderStyle:this.defaultConfig.hasBorder||this.borderColor||this.borderWidth?this.defaultConfig.borderStyle:"none",borderColor:this.borderColor?this.borderColor:this.defaultConfig.borderColor,borderWidth:this.borderWidth?this.borderWidth+"px":this.defaultConfig.borderWidth+"px",backgroundColor:this.backgroundColor?this.backgroundColor:this.defaultConfig.backgroundColor};return e({},t,this.style)},t.prototype.setStyle=function(e){var r=this;Object.keys(e).forEach(function(t){r.renderer.setStyle(r.elementRef.nativeElement,t,e[t])})},t.decorators=[{type:r.Directive,args:[{selector:"[ngx-gravatar], [ngxGravatar]"}]}],t.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:d}]},t.propDecorators={src:[{type:r.Input}],email:[{type:r.Input}],md5Hash:[{type:r.Input}],size:[{type:r.Input}],fallback:[{type:r.Input}],rating:[{type:r.Input}],round:[{type:r.Input}],cornerRadius:[{type:r.Input}],borderColor:[{type:r.Input}],borderWidth:[{type:r.Input}],style:[{type:r.Input}],preferGravatar:[{type:r.Input}],backgroundColor:[{type:r.Input}],ratio:[{type:r.Input}]},t}(),h=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:i,useValue:t}]}},e.decorators=[{type:r.NgModule,args:[{declarations:[u],exports:[u]}]}],e}();t.GravatarModule=h,t.FALLBACK=a,t.RATING=n,t.ɵc=i,t.ɵa=u,t.ɵb=d,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-gravatar.umd.min.js.map

@@ -0,1 +1,4 @@

# v7.2.2
* BugFix: Gravatar is requested infinitely [#7](https://github.com/t-ho/ngx-gravatar/issues/7)
# v7.2.1

@@ -5,3 +8,3 @@ * Update dependencies

# v7.2.0
* Support hashed email as input parameter #6
* Support hashed email as input parameter [#6](https://github.com/t-ho/ngx-gravatar/pull/6)

@@ -8,0 +11,0 @@ # v7.1.0

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

this.renderer.listen(this.elementRef.nativeElement, 'error', (event) => {
this.initializeAvatar(true); // Force using gravatar
if (!this.isGravatarUsed) {
this.initializeAvatar(true); // Force using gravatar
}
});

@@ -32,2 +34,3 @@ }

this.initialized = true;
this.isGravatarUsed = false;
}

@@ -69,2 +72,3 @@ /**

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -77,2 +81,3 @@ else { // this.preferGravatar == false

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -197,2 +202,4 @@ }

NgxGravatarDirective.prototype.requestedSize;
/** @type {?} */
NgxGravatarDirective.prototype.isGravatarUsed;
/**

@@ -214,2 +221,2 @@ * @type {?}

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdyYXZhdGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ncmF2YXRhci8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtZ3JhdmF0YXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU01RCxNQUFNLE9BQU8sb0JBQW9COzs7Ozs7SUFvQi9CLFlBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZUFBbUM7UUFGbkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQVpwQyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBY3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdELDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsRUFB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QUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE1SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwrQkFBK0I7YUFDMUM7Ozs7WUFObUIsVUFBVTtZQUE0QixTQUFTO1lBQzFELGtCQUFrQjs7O2tCQU94QixLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzttQkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsS0FBSztvQkFDTCxLQUFLOzJCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLO29CQUNMLEtBQUs7NkJBQ0wsS0FBSzs4QkFDTCxLQUFLO29CQUNMLEtBQUs7Ozs7SUFiTixtQ0FBcUI7O0lBQ3JCLHFDQUF1Qjs7SUFDdkIsdUNBQXlCOztJQUN6QixvQ0FBc0I7O0lBQ3RCLHdDQUEwQjs7SUFDMUIsc0NBQXdCOztJQUN4QixxQ0FBd0I7O0lBQ3hCLDRDQUE4Qjs7SUFDOUIsMkNBQTZCOztJQUM3QiwyQ0FBNkI7O0lBQzdCLHFDQUF5Qjs7SUFDekIsOENBQWlDOztJQUNqQywrQ0FBa0M7O0lBQ2xDLHFDQUF1Qjs7SUFFdkIsMkNBQXFCOztJQUNyQiw2Q0FBOEI7O0lBQzlCLDZDQUFzQjs7Ozs7SUFHcEIsMENBQThCOzs7OztJQUM5Qix3Q0FBMkI7Ozs7O0lBQzNCLCtDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neEdyYXZhdGFyU2VydmljZSB9IGZyb20gJy4vbmd4LWdyYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhdmF0YXJDb25maWcgfSBmcm9tICcuL2dyYXZhdGFyLWNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3gtZ3JhdmF0YXJdLCBbbmd4R3JhdmF0YXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hHcmF2YXRhckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgc3JjOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVtYWlsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1kNUhhc2g6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBmYWxsYmFjazogc3RyaW5nOyAvLyBlbnVtOiBbJ2JsYW5rJywgJ2lkZW50aWNvbicsICdtbScsICdtb25zdGVyaWQnLCAncmV0cm8nLCAncm9ib2hhc2gnLCAnd2F2YXRhciddXG4gIEBJbnB1dCgpIHJhdGluZzogc3RyaW5nOyAvLyBlbnVtOiBbJ2cnLCAncGcnLCAncicsICd4J11cbiAgQElucHV0KCkgcm91bmQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvcm5lclJhZGl1czogbnVtYmVyO1xuICBASW5wdXQoKSBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXJXaWR0aDogbnVtYmVyO1xuICBASW5wdXQoKSBzdHlsZTogYW55ID0ge307XG4gIEBJbnB1dCgpIHByZWZlckdyYXZhdGFyOiBib29sZWFuO1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJhdGlvOiBudW1iZXI7XG5cbiAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG4gIGRlZmF1bHRDb25maWc6IEdyYXZhdGFyQ29uZmlnO1xuICByZXF1ZXN0ZWRTaXplOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGdyYXZhdGFyU2VydmljZTogTmd4R3JhdmF0YXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5kZWZhdWx0Q29uZmlnID0gdGhpcy5ncmF2YXRhclNlcnZpY2UuZ2V0RGVmYXVsdENvbmZpZygpO1xuICAgIC8vIExpc3RlbiBmb3IgZXJyb3Igd2hlbiBmZXRjaGluZyBjdXN0b20gc3JjXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdlcnJvcicsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5pbml0aWFsaXplQXZhdGFyKHRydWUpOyAvLyBGb3JjZSB1c2luZyBncmF2YXRhclxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplQXZhdGFyKCk7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplQXZhdGFyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBkZWZhdWx0IHZhbHVlcyBmb3IgdXNlciBpbnB1dHMgaWYgdGhleSBhcmUgbm90IHByb3ZpZGVkXG4gICAqL1xuICBwcml2YXRlIHNldERlZmF1bHRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5jb21wdXRlU2l6ZSgpO1xuICAgIHRoaXMucmF0aW8gPSB0aGlzLnJhdGlvID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRDb25maWcucmF0aW8gOiB0aGlzLnJhdGlvO1xuICAgIHRoaXMucmVxdWVzdGVkU2l6ZSA9IHRoaXMuc2l6ZSAqIHRoaXMucmF0aW87XG4gICAgdGhpcy5yb3VuZCA9IHRoaXMucm91bmQgPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5yb3VuZCA6IHRoaXMucm91bmQ7XG4gICAgdGhpcy5jb3JuZXJSYWRpdXMgPSB0aGlzLmNvcm5lclJhZGl1cyA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0Q29uZmlnLmNvcm5lclJhZGl1cyA6IHRoaXMuY29ybmVyUmFkaXVzO1xuICAgIHRoaXMucHJlZmVyR3JhdmF0YXIgPSB0aGlzLnByZWZlckdyYXZhdGFyID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRDb25maWcucHJlZmVyR3JhdmF0YXIgOiB0aGlzLnByZWZlckdyYXZhdGFyO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgYXZhdGFyLlxuICAgKiBDdXN0b20gc291cmNlIGhhcyBoaWdoZXIgcHJpb3JpdHkgaWYgcHJlZmVyR3JhdmF0YXIgaXMgbm90IHNldCBvbi5cbiAgICogRmluYWxseSwgc2V0IHN0eWxlcyBmb3IgdGhlIGF2YXRhci5cbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUF2YXRhcihmb3JjZWRHcmF2YXRhcj86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldERlZmF1bHRWYWx1ZXMoKTtcbiAgICBsZXQgdXJsID0gJyc7XG4gICAgaWYgKHRoaXMucHJlZmVyR3JhdmF0YXIgfHwgZm9yY2VkR3JhdmF0YXIpIHtcbiAgICAgIHVybCA9IHRoaXMuZ3JhdmF0YXJTZXJ2aWNlLmdlbmVyYXRlR3JhdmF0YXJVcmwodGhpcy5lbWFpbCwgdGhpcy5tZDVIYXNoLCB0aGlzLnJlcXVlc3RlZFNpemUsIHRoaXMucmF0aW5nLCB0aGlzLmZhbGxiYWNrKTtcbiAgICB9IGVsc2UgeyAvLyB0aGlzLnByZWZlckdyYXZhdGFyID09IGZhbHNlXG4gICAgICBpZiAodGhpcy5zcmMpIHtcbiAgICAgICAgdXJsID0gdGhpcy5zcmM7XG4gICAgICB9IGVsc2UgeyAvLyBmYWxsYmFjayB0byBncmF2YXRhclxuICAgICAgICB1cmwgPSB0aGlzLmdyYXZhdGFyU2VydmljZS5nZW5lcmF0ZUdyYXZhdGFyVXJsKHRoaXMuZW1haWwsIHRoaXMubWQ1SGFzaCwgdGhpcy5yZXF1ZXN0ZWRTaXplLCB0aGlzLnJhdGluZywgdGhpcy5mYWxsYmFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzcmMnLCB1cmwpO1xuICAgIHRoaXMuc2V0U3R5bGUodGhpcy5hdmF0YXJTdHlsZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIHRoZSBzaXplIG9mIHRoZSBhdmF0YXJcbiAgICogQHJldHVybiBzaXplXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVTaXplKCk6IG51bWJlciB7XG4gICAgbGV0IHNpemUgPSB0aGlzLnNpemUgPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5zaXplIDogdGhpcy5zaXplO1xuICAgIGlmICh0aGlzLnN0eWxlICYmIHRoaXMuc3R5bGUud2lkdGgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zdHlsZS53aWR0aC50cmltKCk7XG4gICAgICAgIGlmICh3aWR0aC5tYXRjaCgvXlxcZCtweCQvKSkgeyAvLyB3aWR0aCB3aXRoIHB4IHVuaXRcbiAgICAgICAgICBzaXplID0gd2lkdGgucmVwbGFjZSgncHgnLCAnJyk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgc3R5bGUgb2JqZWN0XG4gICAqIEByZXR1cm4gc3R5bGUgb2JqZWN0XG4gICAqL1xuICBwcml2YXRlIGF2YXRhclN0eWxlKCkge1xuICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgd2lkdGg6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICBib3JkZXJSYWRpdXM6IHRoaXMucm91bmQgPyB0aGlzLmRlZmF1bHRDb25maWcuYm9yZGVyUmFkaXVzIDogdGhpcy5jb3JuZXJSYWRpdXMgKyAncHgnLFxuICAgICAgYm9yZGVyU3R5bGU6IHRoaXMuZGVmYXVsdENvbmZpZy5oYXNCb3JkZXIgfHwgdGhpcy5ib3JkZXJDb2xvciB8fCB0aGlzLmJvcmRlcldpZHRoID8gdGhpcy5kZWZhdWx0Q29uZmlnLmJvcmRlclN0eWxlIDogJ25vbmUnLFxuICAgICAgYm9yZGVyQ29sb3I6IHRoaXMuYm9yZGVyQ29sb3IgPyB0aGlzLmJvcmRlckNvbG9yIDogdGhpcy5kZWZhdWx0Q29uZmlnLmJvcmRlckNvbG9yLFxuICAgICAgYm9yZGVyV2lkdGg6IHRoaXMuYm9yZGVyV2lkdGggPyB0aGlzLmJvcmRlcldpZHRoICsgJ3B4JyA6IHRoaXMuZGVmYXVsdENvbmZpZy5ib3JkZXJXaWR0aCArICdweCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuYmFja2dyb3VuZENvbG9yID8gdGhpcy5iYWNrZ3JvdW5kQ29sb3IgOiB0aGlzLmRlZmF1bHRDb25maWcuYmFja2dyb3VuZENvbG9yLFxuICAgIH07XG4gICAgcmV0dXJuIHsgLi4uc3R5bGUsIC4uLnRoaXMuc3R5bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc3R5bGUgZm9yIHRoZSBhdmF0YXJcbiAgICogQHBhcmFtIHN0eWxlcyBzdHlsZSBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgc2V0U3R5bGUoc3R5bGVzOiBhbnkpIHtcbiAgICBPYmplY3Qua2V5cyhzdHlsZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtleSwgc3R5bGVzW2tleV0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdyYXZhdGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ncmF2YXRhci8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtZ3JhdmF0YXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU01RCxNQUFNLE9BQU8sb0JBQW9COzs7Ozs7SUFxQi9CLFlBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZUFBbUM7UUFGbkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQWJwQyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBZXZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdELDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQXVCO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lB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UUFDRCx5QkFBWSxLQUFLLEVBQUssSUFBSSxDQUFDLEtBQUssRUFBRztJQUNyQyxDQUFDOzs7Ozs7O0lBTU8sUUFBUSxDQUFDLE1BQVc7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBbElGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2FBQzFDOzs7O1lBTm1CLFVBQVU7WUFBNEIsU0FBUztZQUMxRCxrQkFBa0I7OztrQkFPeEIsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUs7b0JBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSztvQkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBQ0wsS0FBSztvQkFDTCxLQUFLOzs7O0lBYk4sbUNBQXFCOztJQUNyQixxQ0FBdUI7O0lBQ3ZCLHVDQUF5Qjs7SUFDekIsb0NBQXNCOztJQUN0Qix3Q0FBMEI7O0lBQzFCLHNDQUF3Qjs7SUFDeEIscUNBQXdCOztJQUN4Qiw0Q0FBOEI7O0lBQzlCLDJDQUE2Qjs7SUFDN0IsMkNBQTZCOztJQUM3QixxQ0FBeUI7O0lBQ3pCLDhDQUFpQzs7SUFDakMsK0NBQWtDOztJQUNsQyxxQ0FBdUI7O0lBRXZCLDJDQUFxQjs7SUFDckIsNkNBQThCOztJQUM5Qiw2Q0FBc0I7O0lBQ3RCLDhDQUF3Qjs7Ozs7SUFHdEIsMENBQThCOzs7OztJQUM5Qix3Q0FBMkI7Ozs7O0lBQzNCLCtDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neEdyYXZhdGFyU2VydmljZSB9IGZyb20gJy4vbmd4LWdyYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhdmF0YXJDb25maWcgfSBmcm9tICcuL2dyYXZhdGFyLWNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3gtZ3JhdmF0YXJdLCBbbmd4R3JhdmF0YXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hHcmF2YXRhckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgc3JjOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVtYWlsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1kNUhhc2g6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBmYWxsYmFjazogc3RyaW5nOyAvLyBlbnVtOiBbJ2JsYW5rJywgJ2lkZW50aWNvbicsICdtbScsICdtb25zdGVyaWQnLCAncmV0cm8nLCAncm9ib2hhc2gnLCAnd2F2YXRhciddXG4gIEBJbnB1dCgpIHJhdGluZzogc3RyaW5nOyAvLyBlbnVtOiBbJ2cnLCAncGcnLCAncicsICd4J11cbiAgQElucHV0KCkgcm91bmQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvcm5lclJhZGl1czogbnVtYmVyO1xuICBASW5wdXQoKSBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXJXaWR0aDogbnVtYmVyO1xuICBASW5wdXQoKSBzdHlsZTogYW55ID0ge307XG4gIEBJbnB1dCgpIHByZWZlckdyYXZhdGFyOiBib29sZWFuO1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJhdGlvOiBudW1iZXI7XG5cbiAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG4gIGRlZmF1bHRDb25maWc6IEdyYXZhdGFyQ29uZmlnO1xuICByZXF1ZXN0ZWRTaXplOiBudW1iZXI7XG4gIGlzR3JhdmF0YXJVc2VkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBncmF2YXRhclNlcnZpY2U6IE5neEdyYXZhdGFyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IHRoaXMuZ3JhdmF0YXJTZXJ2aWNlLmdldERlZmF1bHRDb25maWcoKTtcbiAgICAvLyBMaXN0ZW4gZm9yIGVycm9yIHdoZW4gZmV0Y2hpbmcgY3VzdG9tIHNyY1xuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZXJyb3InLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc0dyYXZhdGFyVXNlZCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIodHJ1ZSk7IC8vIEZvcmNlIHVzaW5nIGdyYXZhdGFyXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIoKTtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB0aGlzLmlzR3JhdmF0YXJVc2VkID0gZmFsc2U7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplQXZhdGFyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBkZWZhdWx0IHZhbHVlcyBmb3IgdXNlciBpbnB1dHMgaWYgdGhleSBhcmUgbm90IHByb3ZpZGVkXG4gICAqL1xuICBwcml2YXRlIHNldERlZmF1bHRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5jb21wdXRlU2l6ZSgpO1xuICAgIHRoaXMucmF0aW8gPSB0aGlzLnJhdGlvID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRDb25maWcucmF0aW8gOiB0aGlzLnJhdGlvO1xuICAgIHRoaXMucmVxdWVzdGVkU2l6ZSA9IHRoaXMuc2l6ZSAqIHRoaXMucmF0aW87XG4gICAgdGhpcy5yb3VuZCA9IHRoaXMucm91bmQgPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5yb3VuZCA6IHRoaXMucm91bmQ7XG4gICAgdGhpcy5jb3JuZXJSYWRpdXMgPSB0aGlzLmNvcm5lclJhZGl1cyA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0Q29uZmlnLmNvcm5lclJhZGl1cyA6IHRoaXMuY29ybmVyUmFkaXVzO1xuICAgIHRoaXMucHJlZmVyR3JhdmF0YXIgPSB0aGlzLnByZWZlckdyYXZhdGFyID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRDb25maWcucHJlZmVyR3JhdmF0YXIgOiB0aGlzLnByZWZlckdyYXZhdGFyO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgYXZhdGFyLlxuICAgKiBDdXN0b20gc291cmNlIGhhcyBoaWdoZXIgcHJpb3JpdHkgaWYgcHJlZmVyR3JhdmF0YXIgaXMgbm90IHNldCBvbi5cbiAgICogRmluYWxseSwgc2V0IHN0eWxlcyBmb3IgdGhlIGF2YXRhci5cbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUF2YXRhcihmb3JjZWRHcmF2YXRhcj86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldERlZmF1bHRWYWx1ZXMoKTtcbiAgICBsZXQgdXJsID0gJyc7XG4gICAgaWYgKHRoaXMucHJlZmVyR3JhdmF0YXIgfHwgZm9yY2VkR3JhdmF0YXIpIHtcbiAgICAgIHVybCA9IHRoaXMuZ3JhdmF0YXJTZXJ2aWNlLmdlbmVyYXRlR3JhdmF0YXJVcmwodGhpcy5lbWFpbCwgdGhpcy5tZDVIYXNoLCB0aGlzLnJlcXVlc3RlZFNpemUsIHRoaXMucmF0aW5nLCB0aGlzLmZhbGxiYWNrKTtcbiAgICAgIHRoaXMuaXNHcmF2YXRhclVzZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7IC8vIHRoaXMucHJlZmVyR3JhdmF0YXIgPT0gZmFsc2VcbiAgICAgIGlmICh0aGlzLnNyYykge1xuICAgICAgICB1cmwgPSB0aGlzLnNyYztcbiAgICAgIH0gZWxzZSB7IC8vIGZhbGxiYWNrIHRvIGdyYXZhdGFyXG4gICAgICAgIHVybCA9IHRoaXMuZ3JhdmF0YXJTZXJ2aWNlLmdlbmVyYXRlR3JhdmF0YXJVcmwodGhpcy5lbWFpbCwgdGhpcy5tZDVIYXNoLCB0aGlzLnJlcXVlc3RlZFNpemUsIHRoaXMucmF0aW5nLCB0aGlzLmZhbGxiYWNrKTtcbiAgICAgICAgdGhpcy5pc0dyYXZhdGFyVXNlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzcmMnLCB1cmwpO1xuICAgIHRoaXMuc2V0U3R5bGUodGhpcy5hdmF0YXJTdHlsZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIHRoZSBzaXplIG9mIHRoZSBhdmF0YXJcbiAgICogQHJldHVybiBzaXplXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVTaXplKCk6IG51bWJlciB7XG4gICAgbGV0IHNpemUgPSB0aGlzLnNpemUgPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5zaXplIDogdGhpcy5zaXplO1xuICAgIGlmICh0aGlzLnN0eWxlICYmIHRoaXMuc3R5bGUud2lkdGgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zdHlsZS53aWR0aC50cmltKCk7XG4gICAgICAgIGlmICh3aWR0aC5tYXRjaCgvXlxcZCtweCQvKSkgeyAvLyB3aWR0aCB3aXRoIHB4IHVuaXRcbiAgICAgICAgICBzaXplID0gd2lkdGgucmVwbGFjZSgncHgnLCAnJyk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgc3R5bGUgb2JqZWN0XG4gICAqIEByZXR1cm4gc3R5bGUgb2JqZWN0XG4gICAqL1xuICBwcml2YXRlIGF2YXRhclN0eWxlKCkge1xuICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgd2lkdGg6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICBib3JkZXJSYWRpdXM6IHRoaXMucm91bmQgPyB0aGlzLmRlZmF1bHRDb25maWcuYm9yZGVyUmFkaXVzIDogdGhpcy5jb3JuZXJSYWRpdXMgKyAncHgnLFxuICAgICAgYm9yZGVyU3R5bGU6IHRoaXMuZGVmYXVsdENvbmZpZy5oYXNCb3JkZXIgfHwgdGhpcy5ib3JkZXJDb2xvciB8fCB0aGlzLmJvcmRlcldpZHRoID8gdGhpcy5kZWZhdWx0Q29uZmlnLmJvcmRlclN0eWxlIDogJ25vbmUnLFxuICAgICAgYm9yZGVyQ29sb3I6IHRoaXMuYm9yZGVyQ29sb3IgPyB0aGlzLmJvcmRlckNvbG9yIDogdGhpcy5kZWZhdWx0Q29uZmlnLmJvcmRlckNvbG9yLFxuICAgICAgYm9yZGVyV2lkdGg6IHRoaXMuYm9yZGVyV2lkdGggPyB0aGlzLmJvcmRlcldpZHRoICsgJ3B4JyA6IHRoaXMuZGVmYXVsdENvbmZpZy5ib3JkZXJXaWR0aCArICdweCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuYmFja2dyb3VuZENvbG9yID8gdGhpcy5iYWNrZ3JvdW5kQ29sb3IgOiB0aGlzLmRlZmF1bHRDb25maWcuYmFja2dyb3VuZENvbG9yLFxuICAgIH07XG4gICAgcmV0dXJuIHsgLi4uc3R5bGUsIC4uLnRoaXMuc3R5bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgc3R5bGUgZm9yIHRoZSBhdmF0YXJcbiAgICogQHBhcmFtIHN0eWxlcyBzdHlsZSBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgc2V0U3R5bGUoc3R5bGVzOiBhbnkpIHtcbiAgICBPYmplY3Qua2V5cyhzdHlsZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtleSwgc3R5bGVzW2tleV0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=

@@ -19,3 +19,5 @@ /**

this.renderer.listen(this.elementRef.nativeElement, 'error', function (event) {
_this.initializeAvatar(true); // Force using gravatar
if (!_this.isGravatarUsed) {
_this.initializeAvatar(true); // Force using gravatar
}
});

@@ -32,2 +34,3 @@ }

this.initialized = true;
this.isGravatarUsed = false;
};

@@ -93,2 +96,3 @@ /**

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -101,2 +105,3 @@ else { // this.preferGravatar == false

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -252,2 +257,4 @@ }

NgxGravatarDirective.prototype.requestedSize;
/** @type {?} */
NgxGravatarDirective.prototype.isGravatarUsed;
/**

@@ -269,2 +276,2 @@ * @type {?}

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdyYXZhdGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ncmF2YXRhci8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtZ3JhdmF0YXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQ7SUF1QkUsOEJBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZUFBbUM7UUFIN0MsaUJBV0M7UUFWUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBWnBDLFVBQUssR0FBUSxFQUFFLENBQUM7UUFjdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDN0QsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxVQUFDLEtBQUs7WUFDakUsS0FBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELHVDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCwwQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENB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Rzs7Ozs7OztJQUNLLHVDQUFROzs7Ozs7SUFBaEIsVUFBaUIsTUFBVztRQUE1QixpQkFJQztRQUhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztZQUM3QixLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnQkE1SEYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7aUJBQzFDOzs7O2dCQU5tQixVQUFVO2dCQUE0QixTQUFTO2dCQUMxRCxrQkFBa0I7OztzQkFPeEIsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7dUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3lCQUNMLEtBQUs7d0JBQ0wsS0FBSzsrQkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsS0FBSzt3QkFDTCxLQUFLO2lDQUNMLEtBQUs7a0NBQ0wsS0FBSzt3QkFDTCxLQUFLOztJQTRHUiwyQkFBQztDQUFBLEFBN0hELElBNkhDO1NBMUhZLG9CQUFvQjs7O0lBQy9CLG1DQUFxQjs7SUFDckIscUNBQXVCOztJQUN2Qix1Q0FBeUI7O0lBQ3pCLG9DQUFzQjs7SUFDdEIsd0NBQTBCOztJQUMxQixzQ0FBd0I7O0lBQ3hCLHFDQUF3Qjs7SUFDeEIsNENBQThCOztJQUM5QiwyQ0FBNkI7O0lBQzdCLDJDQUE2Qjs7SUFDN0IscUNBQXlCOztJQUN6Qiw4Q0FBaUM7O0lBQ2pDLCtDQUFrQzs7SUFDbEMscUNBQXVCOztJQUV2QiwyQ0FBcUI7O0lBQ3JCLDZDQUE4Qjs7SUFDOUIsNkNBQXNCOzs7OztJQUdwQiwwQ0FBOEI7Ozs7O0lBQzlCLHdDQUEyQjs7Ozs7SUFDM0IsK0NBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4R3JhdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9uZ3gtZ3JhdmF0YXIuc2VydmljZSc7XG5pbXBvcnQgeyBHcmF2YXRhckNvbmZpZyB9IGZyb20gJy4vZ3JhdmF0YXItY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neC1ncmF2YXRhcl0sIFtuZ3hHcmF2YXRhcl0nXG59KVxuZXhwb3J0IGNsYXNzIE5neEdyYXZhdGFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoKSBzcmM6IHN0cmluZztcbiAgQElucHV0KCkgZW1haWw6IHN0cmluZztcbiAgQElucHV0KCkgbWQ1SGFzaDogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGZhbGxiYWNrOiBzdHJpbmc7IC8vIGVudW06IFsnYmxhbmsnLCAnaWRlbnRpY29uJywgJ21tJywgJ21vbnN0ZXJpZCcsICdyZXRybycsICdyb2JvaGFzaCcsICd3YXZhdGFyJ11cbiAgQElucHV0KCkgcmF0aW5nOiBzdHJpbmc7IC8vIGVudW06IFsnZycsICdwZycsICdyJywgJ3gnXVxuICBASW5wdXQoKSByb3VuZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29ybmVyUmFkaXVzOiBudW1iZXI7XG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlcldpZHRoOiBudW1iZXI7XG4gIEBJbnB1dCgpIHN0eWxlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHJlZmVyR3JhdmF0YXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogYm9vbGVhbjtcbiAgQElucHV0KCkgcmF0aW86IG51bWJlcjtcblxuICBpbml0aWFsaXplZDogYm9vbGVhbjtcbiAgZGVmYXVsdENvbmZpZzogR3JhdmF0YXJDb25maWc7XG4gIHJlcXVlc3RlZFNpemU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZ3JhdmF0YXJTZXJ2aWNlOiBOZ3hHcmF2YXRhclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB0aGlzLmdyYXZhdGFyU2VydmljZS5nZXREZWZhdWx0Q29uZmlnKCk7XG4gICAgLy8gTGlzdGVuIGZvciBlcnJvciB3aGVuIGZldGNoaW5nIGN1c3RvbSBzcmNcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Vycm9yJywgKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIodHJ1ZSk7IC8vIEZvcmNlIHVzaW5nIGdyYXZhdGFyXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIoKTtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlZmF1bHQgdmFsdWVzIGZvciB1c2VyIGlucHV0cyBpZiB0aGV5IGFyZSBub3QgcHJvdmlkZWRcbiAgICovXG4gIHByaXZhdGUgc2V0RGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLnNpemUgPSB0aGlzLmNvbXB1dGVTaXplKCk7XG4gICAgdGhpcy5yYXRpbyA9IHRoaXMucmF0aW8gPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5yYXRpbyA6IHRoaXMucmF0aW87XG4gICAgdGhpcy5yZXF1ZXN0ZWRTaXplID0gdGhpcy5zaXplICogdGhpcy5yYXRpbztcbiAgICB0aGlzLnJvdW5kID0gdGhpcy5yb3VuZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0Q29uZmlnLnJvdW5kIDogdGhpcy5yb3VuZDtcbiAgICB0aGlzLmNvcm5lclJhZGl1cyA9IHRoaXMuY29ybmVyUmFkaXVzID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRDb25maWcuY29ybmVyUmFkaXVzIDogdGhpcy5jb3JuZXJSYWRpdXM7XG4gICAgdGhpcy5wcmVmZXJHcmF2YXRhciA9IHRoaXMucHJlZmVyR3JhdmF0YXIgPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5wcmVmZXJHcmF2YXRhciA6IHRoaXMucHJlZmVyR3JhdmF0YXI7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhdmF0YXIuXG4gICAqIEN1c3RvbSBzb3VyY2UgaGFzIGhpZ2hlciBwcmlvcml0eSBpZiBwcmVmZXJHcmF2YXRhciBpcyBub3Qgc2V0IG9uLlxuICAgKiBGaW5hbGx5LCBzZXQgc3R5bGVzIGZvciB0aGUgYXZhdGFyLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQXZhdGFyKGZvcmNlZEdyYXZhdGFyPzogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlcygpO1xuICAgIGxldCB1cmwgPSAnJztcbiAgICBpZiAodGhpcy5wcmVmZXJHcmF2YXRhciB8fCBmb3JjZWRHcmF2YXRhcikge1xuICAgICAgdXJsID0gdGhpcy5ncmF2YXRhclNlcnZpY2UuZ2VuZXJhdGVHcmF2YXRhclVybCh0aGlzLmVtYWlsLCB0aGlzLm1kNUhhc2gsIHRoaXMucmVxdWVzdGVkU2l6ZSwgdGhpcy5yYXRpbmcsIHRoaXMuZmFsbGJhY2spO1xuICAgIH0gZWxzZSB7IC8vIHRoaXMucHJlZmVyR3JhdmF0YXIgPT0gZmFsc2VcbiAgICAgIGlmICh0aGlzLnNyYykge1xuICAgICAgICB1cmwgPSB0aGlzLnNyYztcbiAgICAgIH0gZWxzZSB7IC8vIGZhbGxiYWNrIHRvIGdyYXZhdGFyXG4gICAgICAgIHVybCA9IHRoaXMuZ3JhdmF0YXJTZXJ2aWNlLmdlbmVyYXRlR3JhdmF0YXJVcmwodGhpcy5lbWFpbCwgdGhpcy5tZDVIYXNoLCB0aGlzLnJlcXVlc3RlZFNpemUsIHRoaXMucmF0aW5nLCB0aGlzLmZhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NyYycsIHVybCk7XG4gICAgdGhpcy5zZXRTdHlsZSh0aGlzLmF2YXRhclN0eWxlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGF2YXRhclxuICAgKiBAcmV0dXJuIHNpemVcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVNpemUoKTogbnVtYmVyIHtcbiAgICBsZXQgc2l6ZSA9IHRoaXMuc2l6ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0Q29uZmlnLnNpemUgOiB0aGlzLnNpemU7XG4gICAgaWYgKHRoaXMuc3R5bGUgJiYgdGhpcy5zdHlsZS53aWR0aCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlLndpZHRoLnRyaW0oKTtcbiAgICAgICAgaWYgKHdpZHRoLm1hdGNoKC9eXFxkK3B4JC8pKSB7IC8vIHdpZHRoIHdpdGggcHggdW5pdFxuICAgICAgICAgIHNpemUgPSB3aWR0aC5yZXBsYWNlKCdweCcsICcnKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZSBzdHlsZSBvYmplY3RcbiAgICogQHJldHVybiBzdHlsZSBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgYXZhdGFyU3R5bGUoKSB7XG4gICAgY29uc3Qgc3R5bGUgPSB7XG4gICAgICB3aWR0aDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgIGhlaWdodDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5ib3JkZXJSYWRpdXMgOiB0aGlzLmNvcm5lclJhZGl1cyArICdweCcsXG4gICAgICBib3JkZXJTdHlsZTogdGhpcy5kZWZhdWx0Q29uZmlnLmhhc0JvcmRlciB8fCB0aGlzLmJvcmRlckNvbG9yIHx8IHRoaXMuYm9yZGVyV2lkdGggPyB0aGlzLmRlZmF1bHRDb25maWcuYm9yZGVyU3R5bGUgOiAnbm9uZScsXG4gICAgICBib3JkZXJDb2xvcjogdGhpcy5ib3JkZXJDb2xvciA/IHRoaXMuYm9yZGVyQ29sb3IgOiB0aGlzLmRlZmF1bHRDb25maWcuYm9yZGVyQ29sb3IsXG4gICAgICBib3JkZXJXaWR0aDogdGhpcy5ib3JkZXJXaWR0aCA/IHRoaXMuYm9yZGVyV2lkdGggKyAncHgnIDogdGhpcy5kZWZhdWx0Q29uZmlnLmJvcmRlcldpZHRoICsgJ3B4JyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyB0aGlzLmJhY2tncm91bmRDb2xvciA6IHRoaXMuZGVmYXVsdENvbmZpZy5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgfTtcbiAgICByZXR1cm4geyAuLi5zdHlsZSwgLi4udGhpcy5zdHlsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzdHlsZSBmb3IgdGhlIGF2YXRhclxuICAgKiBAcGFyYW0gc3R5bGVzIHN0eWxlIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRTdHlsZShzdHlsZXM6IGFueSkge1xuICAgIE9iamVjdC5rZXlzKHN0eWxlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2V5LCBzdHlsZXNba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdyYXZhdGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ncmF2YXRhci8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtZ3JhdmF0YXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQ7SUF3QkUsOEJBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZUFBbUM7UUFIN0MsaUJBYUM7UUFaUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBYnBDLFVBQUssR0FBUSxFQUFFLENBQUM7UUFldkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDN0QsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxVQUFDLEtBQUs7WUFDakUsSUFBSSxDQUFDLEtBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hCLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjthQUNyRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELHVDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7Ozs7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OztJQUNyQiw2Q0FBOEI7O0lBQzlCLDZDQUFzQjs7SUFDdEIsOENBQXdCOzs7OztJQUd0QiwwQ0FBOEI7Ozs7O0lBQzlCLHdDQUEyQjs7Ozs7SUFDM0IsK0NBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4R3JhdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9uZ3gtZ3JhdmF0YXIuc2VydmljZSc7XG5pbXBvcnQgeyBHcmF2YXRhckNvbmZpZyB9IGZyb20gJy4vZ3JhdmF0YXItY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neC1ncmF2YXRhcl0sIFtuZ3hHcmF2YXRhcl0nXG59KVxuZXhwb3J0IGNsYXNzIE5neEdyYXZhdGFyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoKSBzcmM6IHN0cmluZztcbiAgQElucHV0KCkgZW1haWw6IHN0cmluZztcbiAgQElucHV0KCkgbWQ1SGFzaDogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGZhbGxiYWNrOiBzdHJpbmc7IC8vIGVudW06IFsnYmxhbmsnLCAnaWRlbnRpY29uJywgJ21tJywgJ21vbnN0ZXJpZCcsICdyZXRybycsICdyb2JvaGFzaCcsICd3YXZhdGFyJ11cbiAgQElucHV0KCkgcmF0aW5nOiBzdHJpbmc7IC8vIGVudW06IFsnZycsICdwZycsICdyJywgJ3gnXVxuICBASW5wdXQoKSByb3VuZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29ybmVyUmFkaXVzOiBudW1iZXI7XG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlcldpZHRoOiBudW1iZXI7XG4gIEBJbnB1dCgpIHN0eWxlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHJlZmVyR3JhdmF0YXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogYm9vbGVhbjtcbiAgQElucHV0KCkgcmF0aW86IG51bWJlcjtcblxuICBpbml0aWFsaXplZDogYm9vbGVhbjtcbiAgZGVmYXVsdENvbmZpZzogR3JhdmF0YXJDb25maWc7XG4gIHJlcXVlc3RlZFNpemU6IG51bWJlcjtcbiAgaXNHcmF2YXRhclVzZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGdyYXZhdGFyU2VydmljZTogTmd4R3JhdmF0YXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5kZWZhdWx0Q29uZmlnID0gdGhpcy5ncmF2YXRhclNlcnZpY2UuZ2V0RGVmYXVsdENvbmZpZygpO1xuICAgIC8vIExpc3RlbiBmb3IgZXJyb3Igd2hlbiBmZXRjaGluZyBjdXN0b20gc3JjXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdlcnJvcicsIChldmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzR3JhdmF0YXJVc2VkKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUF2YXRhcih0cnVlKTsgLy8gRm9yY2UgdXNpbmcgZ3JhdmF0YXJcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUF2YXRhcigpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNHcmF2YXRhclVzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlZmF1bHQgdmFsdWVzIGZvciB1c2VyIGlucHV0cyBpZiB0aGV5IGFyZSBub3QgcHJvdmlkZWRcbiAgICovXG4gIHByaXZhdGUgc2V0RGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLnNpemUgPSB0aGlzLmNvbXB1dGVTaXplKCk7XG4gICAgdGhpcy5yYXRpbyA9IHRoaXMucmF0aW8gPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5yYXRpbyA6IHRoaXMucmF0aW87XG4gICAgdGhpcy5yZXF1ZXN0ZWRTaXplID0gdGhpcy5zaXplICogdGhpcy5yYXRpbztcbiAgICB0aGlzLnJvdW5kID0gdGhpcy5yb3VuZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0Q29uZmlnLnJvdW5kIDogdGhpcy5yb3VuZDtcbiAgICB0aGlzLmNvcm5lclJhZGl1cyA9IHRoaXMuY29ybmVyUmFkaXVzID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRDb25maWcuY29ybmVyUmFkaXVzIDogdGhpcy5jb3JuZXJSYWRpdXM7XG4gICAgdGhpcy5wcmVmZXJHcmF2YXRhciA9IHRoaXMucHJlZmVyR3JhdmF0YXIgPT09IHVuZGVmaW5lZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5wcmVmZXJHcmF2YXRhciA6IHRoaXMucHJlZmVyR3JhdmF0YXI7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhdmF0YXIuXG4gICAqIEN1c3RvbSBzb3VyY2UgaGFzIGhpZ2hlciBwcmlvcml0eSBpZiBwcmVmZXJHcmF2YXRhciBpcyBub3Qgc2V0IG9uLlxuICAgKiBGaW5hbGx5LCBzZXQgc3R5bGVzIGZvciB0aGUgYXZhdGFyLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQXZhdGFyKGZvcmNlZEdyYXZhdGFyPzogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlcygpO1xuICAgIGxldCB1cmwgPSAnJztcbiAgICBpZiAodGhpcy5wcmVmZXJHcmF2YXRhciB8fCBmb3JjZWRHcmF2YXRhcikge1xuICAgICAgdXJsID0gdGhpcy5ncmF2YXRhclNlcnZpY2UuZ2VuZXJhdGVHcmF2YXRhclVybCh0aGlzLmVtYWlsLCB0aGlzLm1kNUhhc2gsIHRoaXMucmVxdWVzdGVkU2l6ZSwgdGhpcy5yYXRpbmcsIHRoaXMuZmFsbGJhY2spO1xuICAgICAgdGhpcy5pc0dyYXZhdGFyVXNlZCA9IHRydWU7XG4gICAgfSBlbHNlIHsgLy8gdGhpcy5wcmVmZXJHcmF2YXRhciA9PSBmYWxzZVxuICAgICAgaWYgKHRoaXMuc3JjKSB7XG4gICAgICAgIHVybCA9IHRoaXMuc3JjO1xuICAgICAgfSBlbHNlIHsgLy8gZmFsbGJhY2sgdG8gZ3JhdmF0YXJcbiAgICAgICAgdXJsID0gdGhpcy5ncmF2YXRhclNlcnZpY2UuZ2VuZXJhdGVHcmF2YXRhclVybCh0aGlzLmVtYWlsLCB0aGlzLm1kNUhhc2gsIHRoaXMucmVxdWVzdGVkU2l6ZSwgdGhpcy5yYXRpbmcsIHRoaXMuZmFsbGJhY2spO1xuICAgICAgICB0aGlzLmlzR3JhdmF0YXJVc2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NyYycsIHVybCk7XG4gICAgdGhpcy5zZXRTdHlsZSh0aGlzLmF2YXRhclN0eWxlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGF2YXRhclxuICAgKiBAcmV0dXJuIHNpemVcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVNpemUoKTogbnVtYmVyIHtcbiAgICBsZXQgc2l6ZSA9IHRoaXMuc2l6ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0Q29uZmlnLnNpemUgOiB0aGlzLnNpemU7XG4gICAgaWYgKHRoaXMuc3R5bGUgJiYgdGhpcy5zdHlsZS53aWR0aCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlLndpZHRoLnRyaW0oKTtcbiAgICAgICAgaWYgKHdpZHRoLm1hdGNoKC9eXFxkK3B4JC8pKSB7IC8vIHdpZHRoIHdpdGggcHggdW5pdFxuICAgICAgICAgIHNpemUgPSB3aWR0aC5yZXBsYWNlKCdweCcsICcnKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZSBzdHlsZSBvYmplY3RcbiAgICogQHJldHVybiBzdHlsZSBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgYXZhdGFyU3R5bGUoKSB7XG4gICAgY29uc3Qgc3R5bGUgPSB7XG4gICAgICB3aWR0aDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgIGhlaWdodDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/IHRoaXMuZGVmYXVsdENvbmZpZy5ib3JkZXJSYWRpdXMgOiB0aGlzLmNvcm5lclJhZGl1cyArICdweCcsXG4gICAgICBib3JkZXJTdHlsZTogdGhpcy5kZWZhdWx0Q29uZmlnLmhhc0JvcmRlciB8fCB0aGlzLmJvcmRlckNvbG9yIHx8IHRoaXMuYm9yZGVyV2lkdGggPyB0aGlzLmRlZmF1bHRDb25maWcuYm9yZGVyU3R5bGUgOiAnbm9uZScsXG4gICAgICBib3JkZXJDb2xvcjogdGhpcy5ib3JkZXJDb2xvciA/IHRoaXMuYm9yZGVyQ29sb3IgOiB0aGlzLmRlZmF1bHRDb25maWcuYm9yZGVyQ29sb3IsXG4gICAgICBib3JkZXJXaWR0aDogdGhpcy5ib3JkZXJXaWR0aCA/IHRoaXMuYm9yZGVyV2lkdGggKyAncHgnIDogdGhpcy5kZWZhdWx0Q29uZmlnLmJvcmRlcldpZHRoICsgJ3B4JyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyB0aGlzLmJhY2tncm91bmRDb2xvciA6IHRoaXMuZGVmYXVsdENvbmZpZy5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgfTtcbiAgICByZXR1cm4geyAuLi5zdHlsZSwgLi4udGhpcy5zdHlsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzdHlsZSBmb3IgdGhlIGF2YXRhclxuICAgKiBAcGFyYW0gc3R5bGVzIHN0eWxlIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRTdHlsZShzdHlsZXM6IGFueSkge1xuICAgIE9iamVjdC5rZXlzKHN0eWxlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2V5LCBzdHlsZXNba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==

@@ -180,3 +180,5 @@ import { InjectionToken, Inject, Injectable, Optional, Directive, ElementRef, Input, Renderer2, NgModule, defineInjectable, inject } from '@angular/core';

this.renderer.listen(this.elementRef.nativeElement, 'error', (event) => {
this.initializeAvatar(true); // Force using gravatar
if (!this.isGravatarUsed) {
this.initializeAvatar(true); // Force using gravatar
}
});

@@ -190,2 +192,3 @@ }

this.initialized = true;
this.isGravatarUsed = false;
}

@@ -227,2 +230,3 @@ /**

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -235,2 +239,3 @@ else { // this.preferGravatar == false

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -237,0 +242,0 @@ }

@@ -228,3 +228,5 @@ import { __assign } from 'tslib';

this.renderer.listen(this.elementRef.nativeElement, 'error', function (event) {
_this.initializeAvatar(true); // Force using gravatar
if (!_this.isGravatarUsed) {
_this.initializeAvatar(true); // Force using gravatar
}
});

@@ -241,2 +243,3 @@ }

this.initialized = true;
this.isGravatarUsed = false;
};

@@ -302,2 +305,3 @@ /**

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -310,2 +314,3 @@ else { // this.preferGravatar == false

url = this.gravatarService.generateGravatarUrl(this.email, this.md5Hash, this.requestedSize, this.rating, this.fallback);
this.isGravatarUsed = true;
}

@@ -312,0 +317,0 @@ }

@@ -25,2 +25,3 @@ import { ElementRef, OnChanges, OnInit, Renderer2 } from '@angular/core';

requestedSize: number;
isGravatarUsed: boolean;
constructor(elementRef: ElementRef, renderer: Renderer2, gravatarService: NgxGravatarService);

@@ -27,0 +28,0 @@ ngOnInit(): void;

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

{"__symbolic":"module","version":4,"metadata":{"GravatarModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["gravatarConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"GravatarModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"gravatarConfig"}}]}}}},"GravatarConfig":{"__symbolic":"interface"},"FALLBACK":{"blank":"blank","identicon":"identicon","mm":"mm","mp":"mp","monsterid":"monsterid","retro":"retro","robohash":"robohash","wavatar":"wavatar"},"RATING":{"g":"g","pg":"pg","r":"r","x":"x"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[ngx-gravatar], [ngxGravatar]"}]}],"members":{"src":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"md5Hash":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"fallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"rating":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"round":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"cornerRadius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"borderColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"borderWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"preferGravatar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"backgroundColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"ratio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":28,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":29,"character":22},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setDefaultValues":[{"__symbolic":"method"}],"initializeAvatar":[{"__symbolic":"method"}],"computeSize":[{"__symbolic":"method"}],"avatarStyle":[{"__symbolic":"method"}],"setStyle":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":14,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":27},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","name":"GravatarConfig"}]}],"getDefaultConfig":[{"__symbolic":"method"}],"generateGravatarUrl":[{"__symbolic":"method"}],"determineFallback":[{"__symbolic":"method"}],"determineRating":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":41},"arguments":["gravatarCustom.config"]}},"origins":{"GravatarModule":"./lib/gravatar.module","GravatarConfig":"./lib/gravatar-config","FALLBACK":"./lib/ngx-gravatar.enums","RATING":"./lib/ngx-gravatar.enums","ɵa":"./lib/ngx-gravatar.directive","ɵb":"./lib/ngx-gravatar.service","ɵc":"./lib/gravatar-config.token"},"importAs":"ngx-gravatar"}
{"__symbolic":"module","version":4,"metadata":{"GravatarModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["gravatarConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"GravatarModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"gravatarConfig"}}]}}}},"GravatarConfig":{"__symbolic":"interface"},"FALLBACK":{"blank":"blank","identicon":"identicon","mm":"mm","mp":"mp","monsterid":"monsterid","retro":"retro","robohash":"robohash","wavatar":"wavatar"},"RATING":{"g":"g","pg":"pg","r":"r","x":"x"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[ngx-gravatar], [ngxGravatar]"}]}],"members":{"src":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"md5Hash":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"fallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"rating":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"round":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"cornerRadius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"borderColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"borderWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"style":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"preferGravatar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"backgroundColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"ratio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":29,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":30,"character":22},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setDefaultValues":[{"__symbolic":"method"}],"initializeAvatar":[{"__symbolic":"method"}],"computeSize":[{"__symbolic":"method"}],"avatarStyle":[{"__symbolic":"method"}],"setStyle":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":14,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":27},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","name":"GravatarConfig"}]}],"getDefaultConfig":[{"__symbolic":"method"}],"generateGravatarUrl":[{"__symbolic":"method"}],"determineFallback":[{"__symbolic":"method"}],"determineRating":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":41},"arguments":["gravatarCustom.config"]}},"origins":{"GravatarModule":"./lib/gravatar.module","GravatarConfig":"./lib/gravatar-config","FALLBACK":"./lib/ngx-gravatar.enums","RATING":"./lib/ngx-gravatar.enums","ɵa":"./lib/ngx-gravatar.directive","ɵb":"./lib/ngx-gravatar.service","ɵc":"./lib/gravatar-config.token"},"importAs":"ngx-gravatar"}
{
"name": "ngx-gravatar",
"description": "A customizable Gravatar for Angular 4, 5, 6 and 7+ applications - AoT compatible. It supports custom image and Gravatar sources",
"version": "7.2.1",
"version": "7.2.2",
"repository": {

@@ -6,0 +6,0 @@ "type": "git",

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

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