Socket
Socket
Sign inDemoInstall

ngx-avatar

Package Overview
Dependencies
9
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.3.2 to 3.3.3

2

bundles/ngx-avatar.umd.min.js

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

!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("is-retina"),require("ts-md5/dist/md5"),require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-avatar",["exports","is-retina","ts-md5/dist/md5","@angular/core","@angular/common/http","rxjs/operators","@angular/common"],r):r(t["ngx-avatar"]={},t.isRetina,t.md5,t.ng.core,t.ng.common.http,t.rxjs.operators,t.ng.common)}(this,function(t,e,r,o,n,i,s){"use strict";e=e&&e.hasOwnProperty("default")?e["default"]:e;var a=function(t,r){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])})(t,r)};function u(t,r){function e(){this.constructor=t}a(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}var c=function(){return(c=Object.assign||function(t){for(var r,e=1,o=arguments.length;e<o;e++)for(var n in r=arguments[e])Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n]);return t}).apply(this,arguments)};function p(t,r){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var o,n,i=e.call(t),s=[];try{for(;(void 0===r||0<r--)&&!(o=i.next()).done;)s.push(o.value)}catch(a){n={error:a}}finally{try{o&&!o.done&&(e=i["return"])&&e.call(i)}finally{if(n)throw n.error}}return s}function h(){for(var t=[],r=0;r<arguments.length;r++)t=t.concat(p(arguments[r]));return t}var l=function P(t){this.sourceId=t},f={FACEBOOK:"facebook",GOOGLE:"google",TWITTER:"twitter",VKONTAKTE:"vkontakte",SKYPE:"skype",GRAVATAR:"gravatar",GITHUB:"github",CUSTOM:"custom",INITIALS:"initials",VALUE:"value"},v=function(){function t(t){this.sourceId=t,this.sourceType=f.FACEBOOK}return t.prototype.getAvatar=function(t){return"https://graph.facebook.com/"+this.sourceId+"/picture?width="+t+"&height="+t},t}(),y=function(){function t(t){this.sourceId=t,this.sourceType=f.TWITTER}return t.prototype.getAvatar=function(t){var r=this.getImageSize(t);return"https://twitter.com/"+this.sourceId+"/profile_image?size="+r},t.prototype.getImageSize=function(t){return t<=24?"mini":t<=48?"normal":t<=73?"bigger":"original"},t}(),d=function(e){function t(t){var r=e.call(this,t)||this;return r.sourceType=f.GOOGLE,r}return u(t,e),t.prototype.getAvatar=function(){return"https://picasaweb.google.com/data/entry/api/user/"+this.sourceId+"?alt=json"},t.prototype.processResponse=function(t,r){var e=t.entry.gphoto$thumbnail.$t;if(e)return e.replace("s64","s"+r)},t}(l),g=function(){function t(t){this.sourceId=t,this.sourceType=f.CUSTOM}return t.prototype.getAvatar=function(){return this.sourceId},t}(),I=function(){function t(t){this.sourceId=t,this.sourceType=f.INITIALS}return t.prototype.getAvatar=function(t){return this.getInitials(this.sourceId,t)},t.prototype.getInitials=function(t,r){if(!(t=t?t.trim():null))return"";var e=t.split(" ");return r&&r<e.length?this.constructInitials(e.slice(0,r)):this.constructInitials(e)},t.prototype.constructInitials=function(t){return t&&t.length?t.filter(function(t){return t&&0<t.length}).map(function(t){return t[0].toUpperCase()}).join(""):""},t}(),A=function(){function t(t){this.value=t,this.sourceType=f.GRAVATAR,this.sourceId=t.match("^[a-f0-9]{32}$")?t:r.Md5.hashStr(t).toString()}return t.prototype.getAvatar=function(t){var r=e()?2*t:t;return"https://secure.gravatar.com/avatar/"+this.sourceId+"?s="+r+"&d=404"},t}(),S=function(){function t(t){this.sourceId=t,this.sourceType=f.SKYPE}return t.prototype.getAvatar=function(){return"https://api.skype.com/users/"+this.sourceId+"/profile/avatar"},t}(),m=function(){function t(t){this.sourceId=t,this.sourceType=f.VALUE}return t.prototype.getAvatar=function(){return this.sourceId},t}(),T=function(e){function t(t){var r=e.call(this,t)||this;return r.sourceType=f.VKONTAKTE,r}return u(t,e),t.prototype.getAvatar=function(t){var r=this.getImageSize(t);return"https://api.vk.com/method/users.get?user_id="+this.sourceId+"&v=5.8&fields="+r},t.prototype.processResponse=function(t){var r=Object.keys(t.response[0]).pop();return t.response[0][r]},t.prototype.getImageSize=function(t){return t<=50?"photo_50":t<=100?"photo_100":t<=200?"photo_200":"photo_max"},t}(l),C=function(e){function t(t){var r=e.call(this,t)||this;return r.sourceType=f.GITHUB,r}return u(t,e),t.prototype.getAvatar=function(){return"https://api.github.com/users/"+this.sourceId},t.prototype.processResponse=function(t,r){return r?t.avatar_url+"&s="+r:t.avatar_url},t}(l),b=function(){function t(){this.sources={},this.sources[f.FACEBOOK]=v,this.sources[f.TWITTER]=y,this.sources[f.GOOGLE]=d,this.sources[f.SKYPE]=S,this.sources[f.GRAVATAR]=A,this.sources[f.CUSTOM]=g,this.sources[f.INITIALS]=I,this.sources[f.VALUE]=m,this.sources[f.VKONTAKTE]=T,this.sources[f.GITHUB]=C}return t.prototype.newInstance=function(t,r){return new this.sources[t](r)},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[]},t}(),O=new o.InjectionToken("avatar.config"),x=function(){function t(t){this.userConfig=t}return t.prototype.getAvatarSources=function(r){if(this.userConfig&&this.userConfig.sourcePriorityOrder&&this.userConfig.sourcePriorityOrder.length){var e=h(new Set(this.userConfig.sourcePriorityOrder)).filter(function(t){return r.includes(t)});return h(e,r.filter(function(t){return!e.includes(t)}))}return r},t.prototype.getAvatarColors=function(t){return this.userConfig&&this.userConfig.colors&&this.userConfig.colors.length&&this.userConfig.colors||t},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:o.Optional},{type:o.Inject,args:[O]}]}]},t}(),R=[f.FACEBOOK,f.GOOGLE,f.TWITTER,f.VKONTAKTE,f.SKYPE,f.GRAVATAR,f.GITHUB,f.CUSTOM,f.INITIALS,f.VALUE],E=["#1abc9c","#3498db","#f1c40f","#8e44ad","#e74c3c","#d35400","#2c3e50","#7f8c8d"],k=function(){function t(t,r){this.http=t,this.avatarConfigService=r,this.avatarSources=R,this.avatarColors=E,this.overrideAvatarSources(),this.overrideAvatarColors()}return t.prototype.fetchAvatar=function(t){return this.http.get(t)},t.prototype.getRandomColor=function(t){if(!t)return"transparent";var r=this.calculateAsciiCode(t);return this.avatarColors[r%this.avatarColors.length]},t.prototype.copmareSources=function(t,r){return this.getSourcePriority(t)-this.getSourcePriority(r)},t.prototype.isSource=function(t){return this.avatarSources.includes(t)},t.prototype.isTextAvatar=function(t){return[f.INITIALS,f.VALUE].includes(t)},t.prototype.overrideAvatarSources=function(){this.avatarSources=this.avatarConfigService.getAvatarSources(R)},t.prototype.overrideAvatarColors=function(){this.avatarColors=this.avatarConfigService.getAvatarColors(E)},t.prototype.calculateAsciiCode=function(t){return t.split("").map(function(t){return t.charCodeAt(0)}).reduce(function(t,r){return t+r})},t.prototype.getSourcePriority=function(t){return this.avatarSources.indexOf(t)},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[{type:n.HttpClient},{type:x}]},t}(),z=function(){function t(t,r,e){this.elementRef=t,this.sourceFactory=r,this.avatarService=e,this.round=!0,this.size=50,this.textSizeRatio=3,this.fgColor="#FFF",this.style={},this.cornerRadius=0,this.clickOnAvatar=new o.EventEmitter,this.isAlive=!0,this.avatarStyle={},this.hostStyle={},this.currentSource=0,this.sources=Array()}return t.prototype.onAvatarClicked=function(){this.clickOnAvatar.emit(this.sources[this.currentSource-1])},t.prototype.ngOnChanges=function(t){for(var r in t)if(this.avatarService.isSource(r)&&t[r].currentValue){var e=t[r].currentValue;this.addSource(f[r.toUpperCase()],e)}this.initializeAvatar()},t.prototype.fetchAvatarSource=function(t){var r=this.sources[this.currentSource];r&&(this.avatarService.isTextAvatar(r.sourceType)?(this.buildTextAvatar(r),this.avatarSrc=undefined):this.buildImageAvatar(r),this.currentSource++)},t.prototype.ngOnDestroy=function(){this.isAlive=!1},t.prototype.initializeAvatar=function(){(this.currentSource=0)<this.sources.length&&this.sources[this.currentSource]&&(this.sortAvatarSources(),this.fetchAvatarSource(),this.hostStyle={width:this.size+"px",height:this.size+"px"})},t.prototype.sortAvatarSources=function(){var e=this;this.sources.sort(function(t,r){return e.avatarService.copmareSources(t.sourceType,r.sourceType)})},t.prototype.buildTextAvatar=function(t){this.avatarText=t.getAvatar(this.initialsSize),this.avatarStyle=this.getInitialsStyle(t.sourceId)},t.prototype.buildImageAvatar=function(t){this.avatarStyle=this.getImageStyle(),t instanceof l?this.fetchAndProcessAsyncAvatar(t):this.avatarSrc=t.getAvatar(this.size)},t.prototype.getInitialsStyle=function(t){return c({textAlign:"center",borderRadius:this.round?"100%":this.cornerRadius+"px",border:this.borderColor?"1px solid "+this.borderColor:"",textTransform:"uppercase",color:this.fgColor,backgroundColor:this.bgColor?this.bgColor:this.avatarService.getRandomColor(t),font:Math.floor(this.size/this.textSizeRatio)+"px Helvetica, Arial, sans-serif",lineHeight:this.size+"px"},this.style)},t.prototype.getImageStyle=function(){return c({maxWidth:"100%",borderRadius:this.round?"50%":this.cornerRadius+"px",border:this.borderColor?"1px solid "+this.borderColor:"",width:this.size,height:this.size},this.style)},t.prototype.fetchAndProcessAsyncAvatar=function(r){var e=this;this.avatarService.fetchAvatar(r.getAvatar()).pipe(i.takeWhile(function(){return!e.isAlive}),i.map(function(t){return r.processResponse(t,e.size)})).subscribe(function(t){return e.avatarSrc=t},function(t){console.error("ngx-avatar: error while fetching "+r.sourceType+" avatar ")})},t.prototype.addSource=function(r,t){if(this.isSourceExist(r)){var e=this.sources.findIndex(function(t){return t.sourceType===r});this.sources[e].sourceId=t}else this.sources.push(this.sourceFactory.newInstance(r,t))},t.prototype.isSourceExist=function(t){return this.sources.map(function(t){return t.sourceType}).includes(t)},t.decorators=[{type:o.Component,args:[{selector:"ngx-avatar",template:'\n <div\n (click)="onAvatarClicked()"\n class="avatar-container"\n [ngStyle]="hostStyle"\n >\n <img\n *ngIf="avatarSrc; else textAvatar"\n [src]="avatarSrc"\n [width]="size"\n [height]="size"\n [ngStyle]="avatarStyle"\n (error)="fetchAvatarSource($event)"\n class="avatar-content"\n />\n <ng-template #textAvatar>\n <div *ngIf="avatarText" class="avatar-content" [ngStyle]="avatarStyle">\n {{ avatarText }}\n </div>\n </ng-template>\n </div>\n ',styles:["\n :host {\n border-radius: '50%';\n }\n "]}]}],t.ctorParameters=function(){return[{type:o.ElementRef},{type:b},{type:k}]},t.propDecorators={round:[{type:o.Input}],size:[{type:o.Input}],textSizeRatio:[{type:o.Input}],bgColor:[{type:o.Input}],fgColor:[{type:o.Input}],borderColor:[{type:o.Input}],style:[{type:o.Input}],cornerRadius:[{type:o.Input}],facebook:[{type:o.Input,args:["facebookId"]}],twitter:[{type:o.Input,args:["twitterId"]}],google:[{type:o.Input,args:["googleId"]}],vkontakte:[{type:o.Input,args:["vkontakteId"]}],skype:[{type:o.Input,args:["skypeId"]}],gravatar:[{type:o.Input,args:["gravatarId"]}],github:[{type:o.Input,args:["githubId"]}],custom:[{type:o.Input,args:["src"]}],initials:[{type:o.Input,args:["name"]}],value:[{type:o.Input,args:["value"]}],placeholder:[{type:o.Input,args:["placeholder"]}],initialsSize:[{type:o.Input,args:["initialsSize"]}],clickOnAvatar:[{type:o.Output}]},t}(),w=function(){function r(){}return r.forRoot=function(t){return{ngModule:r,providers:[{provide:O,useValue:t||{}}]}},r.decorators=[{type:o.NgModule,args:[{imports:[s.CommonModule,n.HttpClientModule],declarations:[z],providers:[b,k,x],exports:[z]}]}],r}();t.AvatarModule=w,t.defaultSources=R,t.defaultColors=E,t.AvatarService=k,t.AvatarSource=f,t.ɵc=x,t.ɵd=O,t.ɵa=z,t.ɵb=b,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("is-retina"),require("ts-md5/dist/md5"),require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-avatar",["exports","is-retina","ts-md5/dist/md5","@angular/core","@angular/common/http","rxjs/operators","@angular/common"],r):r(t["ngx-avatar"]={},t.isRetina,t.md5,t.ng.core,t.ng.common.http,t.rxjs.operators,t.ng.common)}(this,function(t,e,r,o,n,i,s){"use strict";e=e&&e.hasOwnProperty("default")?e["default"]:e;var a=function(t,r){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])})(t,r)};function u(t,r){function e(){this.constructor=t}a(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}var c=function(){return(c=Object.assign||function(t){for(var r,e=1,o=arguments.length;e<o;e++)for(var n in r=arguments[e])Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n]);return t}).apply(this,arguments)};function p(t,r){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var o,n,i=e.call(t),s=[];try{for(;(void 0===r||0<r--)&&!(o=i.next()).done;)s.push(o.value)}catch(a){n={error:a}}finally{try{o&&!o.done&&(e=i["return"])&&e.call(i)}finally{if(n)throw n.error}}return s}function h(){for(var t=[],r=0;r<arguments.length;r++)t=t.concat(p(arguments[r]));return t}var l=function P(t){this.sourceId=t},f={FACEBOOK:"facebook",GOOGLE:"google",TWITTER:"twitter",VKONTAKTE:"vkontakte",SKYPE:"skype",GRAVATAR:"gravatar",GITHUB:"github",CUSTOM:"custom",INITIALS:"initials",VALUE:"value"},v=function(){function t(t){this.sourceId=t,this.sourceType=f.FACEBOOK}return t.prototype.getAvatar=function(t){return"https://graph.facebook.com/"+this.sourceId+"/picture?width="+t+"&height="+t},t}(),y=function(){function t(t){this.sourceId=t,this.sourceType=f.TWITTER}return t.prototype.getAvatar=function(t){var r=this.getImageSize(t);return"https://twitter.com/"+this.sourceId+"/profile_image?size="+r},t.prototype.getImageSize=function(t){return t<=24?"mini":t<=48?"normal":t<=73?"bigger":"original"},t}(),d=function(e){function t(t){var r=e.call(this,t)||this;return r.sourceType=f.GOOGLE,r}return u(t,e),t.prototype.getAvatar=function(){return"https://picasaweb.google.com/data/entry/api/user/"+this.sourceId+"?alt=json"},t.prototype.processResponse=function(t,r){var e=t.entry.gphoto$thumbnail.$t;if(e)return e.replace("s64","s"+r)},t}(l),g=function(){function t(t){this.sourceId=t,this.sourceType=f.CUSTOM}return t.prototype.getAvatar=function(){return this.sourceId},t}(),I=function(){function t(t){this.sourceId=t,this.sourceType=f.INITIALS}return t.prototype.getAvatar=function(t){return this.getInitials(this.sourceId,t)},t.prototype.getInitials=function(t,r){if(!(t=t?t.trim():null))return"";var e=t.split(" ");return r&&r<e.length?this.constructInitials(e.slice(0,r)):this.constructInitials(e)},t.prototype.constructInitials=function(t){return t&&t.length?t.filter(function(t){return t&&0<t.length}).map(function(t){return t[0].toUpperCase()}).join(""):""},t}(),A=function(){function t(t){this.value=t,this.sourceType=f.GRAVATAR,this.sourceId=t.match("^[a-f0-9]{32}$")?t:r.Md5.hashStr(t).toString()}return t.prototype.getAvatar=function(t){var r=e()?2*t:t;return"https://secure.gravatar.com/avatar/"+this.sourceId+"?s="+r+"&d=404"},t}(),S=function(){function t(t){this.sourceId=t,this.sourceType=f.SKYPE}return t.prototype.getAvatar=function(){return"https://api.skype.com/users/"+this.sourceId+"/profile/avatar"},t}(),m=function(){function t(t){this.sourceId=t,this.sourceType=f.VALUE}return t.prototype.getAvatar=function(){return this.sourceId},t}(),T=function(e){function t(t){var r=e.call(this,t)||this;return r.sourceType=f.VKONTAKTE,r}return u(t,e),t.prototype.getAvatar=function(t){var r=this.getImageSize(t);return"https://api.vk.com/method/users.get?user_id="+this.sourceId+"&v=5.8&fields="+r},t.prototype.processResponse=function(t){var r=Object.keys(t.response[0]).pop();return t.response[0][r]},t.prototype.getImageSize=function(t){return t<=50?"photo_50":t<=100?"photo_100":t<=200?"photo_200":"photo_max"},t}(l),C=function(e){function t(t){var r=e.call(this,t)||this;return r.sourceType=f.GITHUB,r}return u(t,e),t.prototype.getAvatar=function(){return"https://api.github.com/users/"+this.sourceId},t.prototype.processResponse=function(t,r){return r?t.avatar_url+"&s="+r:t.avatar_url},t}(l),b=function(){function t(){this.sources={},this.sources[f.FACEBOOK]=v,this.sources[f.TWITTER]=y,this.sources[f.GOOGLE]=d,this.sources[f.SKYPE]=S,this.sources[f.GRAVATAR]=A,this.sources[f.CUSTOM]=g,this.sources[f.INITIALS]=I,this.sources[f.VALUE]=m,this.sources[f.VKONTAKTE]=T,this.sources[f.GITHUB]=C}return t.prototype.newInstance=function(t,r){return new this.sources[t](r)},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[]},t}(),O=new o.InjectionToken("avatar.config"),x=function(){function t(t){this.userConfig=t}return t.prototype.getAvatarSources=function(r){if(this.userConfig&&this.userConfig.sourcePriorityOrder&&this.userConfig.sourcePriorityOrder.length){var e=h(new Set(this.userConfig.sourcePriorityOrder)).filter(function(t){return r.includes(t)});return h(e,r.filter(function(t){return!e.includes(t)}))}return r},t.prototype.getAvatarColors=function(t){return this.userConfig&&this.userConfig.colors&&this.userConfig.colors.length&&this.userConfig.colors||t},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:o.Optional},{type:o.Inject,args:[O]}]}]},t}(),R=[f.FACEBOOK,f.GOOGLE,f.TWITTER,f.VKONTAKTE,f.SKYPE,f.GRAVATAR,f.GITHUB,f.CUSTOM,f.INITIALS,f.VALUE],E=["#1abc9c","#3498db","#f1c40f","#8e44ad","#e74c3c","#d35400","#2c3e50","#7f8c8d"],k=function(){function t(t,r){this.http=t,this.avatarConfigService=r,this.avatarSources=R,this.avatarColors=E,this.overrideAvatarSources(),this.overrideAvatarColors()}return t.prototype.fetchAvatar=function(t){return this.http.get(t)},t.prototype.getRandomColor=function(t){if(!t)return"transparent";var r=this.calculateAsciiCode(t);return this.avatarColors[r%this.avatarColors.length]},t.prototype.copmareSources=function(t,r){return this.getSourcePriority(t)-this.getSourcePriority(r)},t.prototype.isSource=function(t){return this.avatarSources.includes(t)},t.prototype.isTextAvatar=function(t){return[f.INITIALS,f.VALUE].includes(t)},t.prototype.overrideAvatarSources=function(){this.avatarSources=this.avatarConfigService.getAvatarSources(R)},t.prototype.overrideAvatarColors=function(){this.avatarColors=this.avatarConfigService.getAvatarColors(E)},t.prototype.calculateAsciiCode=function(t){return t.split("").map(function(t){return t.charCodeAt(0)}).reduce(function(t,r){return t+r})},t.prototype.getSourcePriority=function(t){return this.avatarSources.indexOf(t)},t.decorators=[{type:o.Injectable}],t.ctorParameters=function(){return[{type:n.HttpClient},{type:x}]},t}(),z=function(){function t(t,r,e){this.elementRef=t,this.sourceFactory=r,this.avatarService=e,this.round=!0,this.size=50,this.textSizeRatio=3,this.fgColor="#FFF",this.style={},this.cornerRadius=0,this.clickOnAvatar=new o.EventEmitter,this.isAlive=!0,this.avatarStyle={},this.hostStyle={},this.currentSource=0,this.sources=Array()}return t.prototype.onAvatarClicked=function(){this.clickOnAvatar.emit(this.sources[this.currentSource-1])},t.prototype.ngOnChanges=function(t){for(var r in t)if(this.avatarService.isSource(r)&&t[r].currentValue){var e=t[r].currentValue;this.addSource(f[r.toUpperCase()],e)}this.initializeAvatar()},t.prototype.fetchAvatarSource=function(t){var r=this.sources[this.currentSource];r&&(this.avatarService.isTextAvatar(r.sourceType)?(this.buildTextAvatar(r),this.avatarSrc=undefined):this.buildImageAvatar(r),this.currentSource++)},t.prototype.ngOnDestroy=function(){this.isAlive=!1},t.prototype.initializeAvatar=function(){(this.currentSource=0)<this.sources.length&&this.sources[this.currentSource]&&(this.sortAvatarSources(),this.fetchAvatarSource(),this.hostStyle={width:this.size+"px",height:this.size+"px"})},t.prototype.sortAvatarSources=function(){var e=this;this.sources.sort(function(t,r){return e.avatarService.copmareSources(t.sourceType,r.sourceType)})},t.prototype.buildTextAvatar=function(t){this.avatarText=t.getAvatar(this.initialsSize),this.avatarStyle=this.getInitialsStyle(t.sourceId)},t.prototype.buildImageAvatar=function(t){this.avatarStyle=this.getImageStyle(),t instanceof l?this.fetchAndProcessAsyncAvatar(t):this.avatarSrc=t.getAvatar(this.size)},t.prototype.getInitialsStyle=function(t){return c({textAlign:"center",borderRadius:this.round?"100%":this.cornerRadius+"px",border:this.borderColor?"1px solid "+this.borderColor:"",textTransform:"uppercase",color:this.fgColor,backgroundColor:this.bgColor?this.bgColor:this.avatarService.getRandomColor(t),font:Math.floor(this.size/this.textSizeRatio)+"px Helvetica, Arial, sans-serif",lineHeight:this.size+"px"},this.style)},t.prototype.getImageStyle=function(){return c({maxWidth:"100%",borderRadius:this.round?"50%":this.cornerRadius+"px",border:this.borderColor?"1px solid "+this.borderColor:"",width:this.size,height:this.size},this.style)},t.prototype.fetchAndProcessAsyncAvatar=function(r){var e=this;this.avatarService.fetchAvatar(r.getAvatar()).pipe(i.takeWhile(function(){return e.isAlive}),i.map(function(t){return r.processResponse(t,e.size)})).subscribe(function(t){return e.avatarSrc=t},function(t){console.error("ngx-avatar: error while fetching "+r.sourceType+" avatar ")})},t.prototype.addSource=function(r,t){if(this.isSourceExist(r)){var e=this.sources.findIndex(function(t){return t.sourceType===r});this.sources[e].sourceId=t}else this.sources.push(this.sourceFactory.newInstance(r,t))},t.prototype.isSourceExist=function(t){return this.sources.map(function(t){return t.sourceType}).includes(t)},t.decorators=[{type:o.Component,args:[{selector:"ngx-avatar",template:'\n <div\n (click)="onAvatarClicked()"\n class="avatar-container"\n [ngStyle]="hostStyle"\n >\n <img\n *ngIf="avatarSrc; else textAvatar"\n [src]="avatarSrc"\n [width]="size"\n [height]="size"\n [ngStyle]="avatarStyle"\n (error)="fetchAvatarSource($event)"\n class="avatar-content"\n />\n <ng-template #textAvatar>\n <div *ngIf="avatarText" class="avatar-content" [ngStyle]="avatarStyle">\n {{ avatarText }}\n </div>\n </ng-template>\n </div>\n ',styles:["\n :host {\n border-radius: '50%';\n }\n "]}]}],t.ctorParameters=function(){return[{type:o.ElementRef},{type:b},{type:k}]},t.propDecorators={round:[{type:o.Input}],size:[{type:o.Input}],textSizeRatio:[{type:o.Input}],bgColor:[{type:o.Input}],fgColor:[{type:o.Input}],borderColor:[{type:o.Input}],style:[{type:o.Input}],cornerRadius:[{type:o.Input}],facebook:[{type:o.Input,args:["facebookId"]}],twitter:[{type:o.Input,args:["twitterId"]}],google:[{type:o.Input,args:["googleId"]}],vkontakte:[{type:o.Input,args:["vkontakteId"]}],skype:[{type:o.Input,args:["skypeId"]}],gravatar:[{type:o.Input,args:["gravatarId"]}],github:[{type:o.Input,args:["githubId"]}],custom:[{type:o.Input,args:["src"]}],initials:[{type:o.Input,args:["name"]}],value:[{type:o.Input,args:["value"]}],placeholder:[{type:o.Input,args:["placeholder"]}],initialsSize:[{type:o.Input,args:["initialsSize"]}],clickOnAvatar:[{type:o.Output}]},t}(),w=function(){function r(){}return r.forRoot=function(t){return{ngModule:r,providers:[{provide:O,useValue:t||{}}]}},r.decorators=[{type:o.NgModule,args:[{imports:[s.CommonModule,n.HttpClientModule],declarations:[z],providers:[b,k,x],exports:[z]}]}],r}();t.AvatarModule=w,t.defaultSources=R,t.defaultColors=E,t.AvatarService=k,t.AvatarSource=f,t.ɵc=x,t.ɵd=O,t.ɵa=z,t.ɵb=b,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-avatar.umd.min.js.map

@@ -178,3 +178,3 @@ /**

.fetchAvatar(source.getAvatar())
.pipe(takeWhile(() => !this.isAlive), map(response => source.processResponse(response, this.size)))
.pipe(takeWhile(() => this.isAlive), map(response => source.processResponse(response, this.size)))
.subscribe(avatarSrc => (this.avatarSrc = avatarSrc), err => {

@@ -337,2 +337,2 @@ console.error(`ngx-avatar: error while fetching ${source.sourceType} avatar `);

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdmF0YXIvIiwic291cmNlcyI6WyJsaWIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQTRDaEQsTUFBTSxPQUFPLGVBQWU7Ozs7OztJQXNEMUIsWUFDUyxVQUFzQixFQUN0QixhQUE0QixFQUMzQixhQUE0QjtRQUY3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdkQvQixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBSWxCLFlBQU8sR0FBRyxNQUFNLENBQUM7UUFJakIsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUVoQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQTJCakIsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUUzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2YsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUVuQixrQkFBYSxHQUFHLENBQUMsQ0FB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LGlDQUNzQjs7SUFDdEIsaUNBQ3NCOztJQUN0QixtQ0FDd0I7O0lBQ3hCLGdDQUNxQjs7SUFDckIsc0NBQzJCOztJQUMzQix1Q0FDNEI7O0lBRTVCLHdDQUNrRTs7SUFFbEUsa0NBQXNCOztJQUN0QixvQ0FBeUI7O0lBQ3pCLHFDQUEwQjs7SUFDMUIsc0NBQTZCOztJQUM3QixvQ0FBMkI7O0lBRTNCLHdDQUEwQjs7SUFDMUIsa0NBQW9DOztJQUdsQyxxQ0FBNkI7O0lBQzdCLHdDQUFtQzs7SUFDbkMsd0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEVsZW1lbnRSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNvdXJjZSB9IGZyb20gJy4vc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHsgQXN5bmNTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvYXN5bmMtc291cmNlJztcbmltcG9ydCB7IFNvdXJjZUZhY3RvcnkgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlLmZhY3RvcnknO1xuaW1wb3J0IHsgQXZhdGFyU2VydmljZSB9IGZyb20gJy4vYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXZhdGFyU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL2F2YXRhci1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyB0YWtlV2hpbGUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBVbml2ZXJzYWwgYXZhdGFyIGNvbXBvbmVudCB0aGF0XG4gKiBnZW5lcmF0ZXMgYXZhdGFyIGZyb20gZGlmZmVyZW50IHNvdXJjZXNcbiAqXG4gKiBleHBvcnRcbiAqIGNsYXNzIEF2YXRhckNvbXBvbmVudFxuICogaW1wbGVtZW50cyB7T25DaGFuZ2VzfVxuICovXG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbmd4LWF2YXRhcicsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJzUwJSc7XG4gICAgICB9XG4gICAgYFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIChjbGljayk9XCJvbkF2YXRhckNsaWNrZWQoKVwiXG4gICAgICBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwiaG9zdFN0eWxlXCJcbiAgICA+XG4gICAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiYXZhdGFyU3JjOyBlbHNlIHRleHRBdmF0YXJcIlxuICAgICAgICBbc3JjXT1cImF2YXRhclNyY1wiXG4gICAgICAgIFt3aWR0aF09XCJzaXplXCJcbiAgICAgICAgW2hlaWdodF09XCJzaXplXCJcbiAgICAgICAgW25nU3R5bGVdPVwiYXZhdGFyU3R5bGVcIlxuICAgICAgICAoZXJyb3IpPVwiZmV0Y2hBdmF0YXJTb3VyY2UoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiYXZhdGFyLWNvbnRlbnRcIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGV4dEF2YXRhcj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImF2YXRhclRleHRcIiBjbGFzcz1cImF2YXRhci1jb250ZW50XCIgW25nU3R5bGVdPVwiYXZhdGFyU3R5bGVcIj5cbiAgICAgICAgICB7eyBhdmF0YXJUZXh0IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3VuZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXplID0gNTA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0ZXh0U2l6ZVJhdGlvID0gMztcbiAgQElucHV0KClcbiAgcHVibGljIGJnQ29sb3I6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGZnQ29sb3IgPSAnI0ZGRic7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3R5bGU6IGFueSA9IHt9O1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29ybmVyUmFkaXVzID0gMDtcbiAgQElucHV0KCdmYWNlYm9va0lkJylcbiAgcHVibGljIGZhY2Vib29rOiBzdHJpbmc7XG4gIEBJbnB1dCgndHdpdHRlcklkJylcbiAgcHVibGljIHR3aXR0ZXI6IHN0cmluZztcbiAgQElucHV0KCdnb29nbGVJZCcpXG4gIHB1YmxpYyBnb29nbGU6IHN0cmluZztcbiAgQElucHV0KCd2a29udGFrdGVJZCcpXG4gIHB1YmxpYyB2a29udGFrdGU6IHN0cmluZztcbiAgQElucHV0KCdza3lwZUlkJylcbiAgcHVibGljIHNreXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgnZ3JhdmF0YXJJZCcpXG4gIHB1YmxpYyBncmF2YXRhcjogc3RyaW5nO1xuICBASW5wdXQoJ2dpdGh1YklkJylcbiAgcHVibGljIGdpdGh1Yjogc3RyaW5nO1xuICBASW5wdXQoJ3NyYycpXG4gIHB1YmxpYyBjdXN0b206IHN0cmluZztcbiAgQElucHV0KCduYW1lJylcbiAgcHVibGljIGluaXRpYWxzOiBzdHJpbmc7XG4gIEBJbnB1dCgndmFsdWUnKVxuICBwdWJsaWMgdmFsdWU6IHN0cmluZztcbiAgQElucHV0KCdwbGFjZWhvbGRlcicpXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoJ2luaXRpYWxzU2l6ZScpXG4gIHB1YmxpYyBpbml0aWFsc1NpemU6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrT25BdmF0YXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIGlzQWxpdmUgPSB0cnVlO1xuICBwdWJsaWMgYXZhdGFyU3JjOiBzdHJpbmc7XG4gIHB1YmxpYyBhdmF0YXJUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBhdmF0YXJTdHlsZTogYW55ID0ge307XG4gIHB1YmxpYyBob3N0U3R5bGU6IGFueSA9IHt9O1xuXG4gIHByaXZhdGUgY3VycmVudFNvdXJjZSA9IDA7XG4gIHByaXZhdGUgc291cmNlczogU291cmNlW10gPSBBcnJheSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHB1YmxpYyBzb3VyY2VGYWN0b3J5OiBTb3VyY2VGYWN0b3J5LFxuICAgIHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG9uQXZhdGFyQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrT25BdmF0YXIuZW1pdCh0aGlzLnNvdXJjZXNbdGhpcy5jdXJyZW50U291cmNlIC0gMV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVjdCBpbnB1dHMgY2hhbmdlXG4gICAqXG4gICAqIHBhcmFtIHt7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfX0gY2hhbmdlc1xuICAgKlxuICAgKiBtZW1iZXJvZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmF2YXRhclNlcnZpY2UuaXNTb3VyY2UocHJvcE5hbWUpICYmXG4gICAgICAgIGNoYW5nZXNbcHJvcE5hbWVdLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbcHJvcE5hbWVdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgdGhpcy5hZGRTb3VyY2UoQXZhdGFyU291cmNlW3Byb3BOYW1lLnRvVXBwZXJDYXNlKCldLCBjdXJyZW50VmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyByZWludGlhbGl6ZSB0aGUgYXZhdGFyIGNvbXBvbmVudCB3aGVuIGEgc291cmNlIHByb3BlcnR5IHZhbHVlIGhhcyBjaGFuZ2VkXG4gICAgLy8gdGhlIGZhbGxiYWNrIHN5c3RlbSBtdXN0IGJlIHJlLWludm9rZWQgd2l0aCB0aGUgbmV3IHZhbHVlcy5cbiAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhdmF0YXIgc291cmNlXG4gICAqXG4gICAqIHBhcmFtIHthbnl9IGV2ZW50XG4gICAqXG4gICAqIG1lbWJlck9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHVibGljIGZldGNoQXZhdGFyU291cmNlKGV2ZW50PzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgYXZhdGFyU291cmNlID0gdGhpcy5zb3VyY2VzW3RoaXMuY3VycmVudFNvdXJjZV07XG4gICAgaWYgKCFhdmF0YXJTb3VyY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuYXZhdGFyU2VydmljZS5pc1RleHRBdmF0YXIoYXZhdGFyU291cmNlLnNvdXJjZVR5cGUpKSB7XG4gICAgICB0aGlzLmJ1aWxkVGV4dEF2YXRhcihhdmF0YXJTb3VyY2UpO1xuICAgICAgLy8gVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICAgIHRoaXMuYXZhdGFyU3JjID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1aWxkSW1hZ2VBdmF0YXIoYXZhdGFyU291cmNlKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50U291cmNlKys7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc0FsaXZlID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYXZhdGFyIGNvbXBvbmVudCBhbmQgaXRzIGZhbGxiYWNrIHN5c3RlbVxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQXZhdGFyKCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFNvdXJjZSA9IDA7XG4gICAgaWYgKHRoaXMuc291cmNlcy5sZW5ndGggPiAwICYmIHRoaXMuc291cmNlc1t0aGlzLmN1cnJlbnRTb3VyY2VdKSB7XG4gICAgICB0aGlzLnNvcnRBdmF0YXJTb3VyY2VzKCk7XG4gICAgICB0aGlzLmZldGNoQXZhdGFyU291cmNlKCk7XG4gICAgICB0aGlzLmhvc3RTdHlsZSA9IHtcbiAgICAgICAgd2lkdGg6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICAgIGhlaWdodDogdGhpcy5zaXplICsgJ3B4J1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRBdmF0YXJTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlcy5zb3J0KChzb3VyY2UxLCBzb3VyY2UyKSA9PlxuICAgICAgdGhpcy5hdmF0YXJTZXJ2aWNlLmNvcG1hcmVTb3VyY2VzKHNvdXJjZTEuc291cmNlVHlwZSwgc291cmNlMi5zb3VyY2VUeXBlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVGV4dEF2YXRhcihhdmF0YXJTb3VyY2U6IFNvdXJjZSk6IHZvaWQge1xuICAgIHRoaXMuYXZhdGFyVGV4dCA9IGF2YXRhclNvdXJjZS5nZXRBdmF0YXIodGhpcy5pbml0aWFsc1NpemUpO1xuICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB0aGlzLmdldEluaXRpYWxzU3R5bGUoYXZhdGFyU291cmNlLnNvdXJjZUlkKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbWFnZUF2YXRhcihhdmF0YXJTb3VyY2U6IFNvdXJjZSk6IHZvaWQge1xuICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB0aGlzLmdldEltYWdlU3R5bGUoKTtcbiAgICBpZiAoYXZhdGFyU291cmNlIGluc3RhbmNlb2YgQXN5bmNTb3VyY2UpIHtcbiAgICAgIHRoaXMuZmV0Y2hBbmRQcm9jZXNzQXN5bmNBdmF0YXIoYXZhdGFyU291cmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdmF0YXJTcmMgPSBhdmF0YXJTb3VyY2UuZ2V0QXZhdGFyKHRoaXMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIHJldHVybnMgaW5pdGlhbHMgc3R5bGVcbiAgICpcbiAgICogbWVtYmVyT2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIGdldEluaXRpYWxzU3R5bGUoYXZhdGFyVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLnJvdW5kID8gJzEwMCUnIDogdGhpcy5jb3JuZXJSYWRpdXMgKyAncHgnLFxuICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlckNvbG9yID8gJzFweCBzb2xpZCAnICsgdGhpcy5ib3JkZXJDb2xvciA6ICcnLFxuICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICBjb2xvcjogdGhpcy5mZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmJnQ29sb3JcbiAgICAgICAgPyB0aGlzLmJnQ29sb3JcbiAgICAgICAgOiB0aGlzLmF2YXRhclNlcnZpY2UuZ2V0UmFuZG9tQ29sb3IoYXZhdGFyVmFsdWUpLFxuICAgICAgZm9udDpcbiAgICAgICAgTWF0aC5mbG9vcih0aGlzLnNpemUgLyB0aGlzLnRleHRTaXplUmF0aW8pICtcbiAgICAgICAgJ3B4IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYnLFxuICAgICAgbGluZUhlaWdodDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgIC4uLnRoaXMuc3R5bGVcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIHJldHVybnMgaW1hZ2Ugc3R5bGVcbiAgICpcbiAgICogbWVtYmVyT2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIGdldEltYWdlU3R5bGUoKTogdm9pZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBib3JkZXJSYWRpdXM6IHRoaXMucm91bmQgPyAnNTAlJyA6IHRoaXMuY29ybmVyUmFkaXVzICsgJ3B4JyxcbiAgICAgIGJvcmRlcjogdGhpcy5ib3JkZXJDb2xvciA/ICcxcHggc29saWQgJyArIHRoaXMuYm9yZGVyQ29sb3IgOiAnJyxcbiAgICAgIHdpZHRoOiB0aGlzLnNpemUsXG4gICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSxcbiAgICAgIC4uLnRoaXMuc3R5bGVcbiAgICB9O1xuICB9XG4gIC8qKlxuICAgKiBGZXRjaCBhdmF0YXIgaW1hZ2UgYXN5bmNocm91bnNseS5cbiAgICpcbiAgICogcGFyYW0ge1NvdXJjZX0gc291cmNlIHJlcHJlc2VudHMgYXZhdGFyIHNvdXJjZVxuICAgKiBtZW1iZXJvZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIHByaXZhdGUgZmV0Y2hBbmRQcm9jZXNzQXN5bmNBdmF0YXIoc291cmNlOiBBc3luY1NvdXJjZSk6IHZvaWQge1xuICAgIHRoaXMuYXZhdGFyU2VydmljZVxuICAgICAgLmZldGNoQXZhdGFyKHNvdXJjZS5nZXRBdmF0YXIoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4gIXRoaXMuaXNBbGl2ZSksXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiBzb3VyY2UucHJvY2Vzc1Jlc3BvbnNlKHJlc3BvbnNlLCB0aGlzLnNpemUpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgYXZhdGFyU3JjID0+ICh0aGlzLmF2YXRhclNyYyA9IGF2YXRhclNyYyksXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIGBuZ3gtYXZhdGFyOiBlcnJvciB3aGlsZSBmZXRjaGluZyAke3NvdXJjZS5zb3VyY2VUeXBlfSBhdmF0YXIgYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGF2YXRhciBzb3VyY2VcbiAgICpcbiAgICogcGFyYW0gc291cmNlVHlwZSBhdmF0YXIgc291cmNlIHR5cGUgZS5nIGZhY2Vib29rLHR3aXR0ZXIsIGV0Yy5cbiAgICogcGFyYW0gc291cmNlVmFsdWUgIHNvdXJjZSB2YWx1ZSBlLmcgZmFjZWJvb2tJZCB2YWx1ZSwgZXRjLlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRTb3VyY2Uoc291cmNlVHlwZTogQXZhdGFyU291cmNlLCBzb3VyY2VWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU291cmNlRXhpc3Qoc291cmNlVHlwZSkpIHtcbiAgICAgIHRoaXMuc291cmNlcy5wdXNoKFxuICAgICAgICB0aGlzLnNvdXJjZUZhY3RvcnkubmV3SW5zdGFuY2Uoc291cmNlVHlwZSwgc291cmNlVmFsdWUpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc291cmNlcy5maW5kSW5kZXgoXG4gICAgICAgIHNvdXJjZSA9PiBzb3VyY2Uuc291cmNlVHlwZSA9PT0gc291cmNlVHlwZVxuICAgICAgKTtcbiAgICAgIHRoaXMuc291cmNlc1tpbmRleF0uc291cmNlSWQgPSBzb3VyY2VWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzU291cmNlRXhpc3QoYXZhdGFyU291cmNlOiBBdmF0YXJTb3VyY2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VzLm1hcChzb3VyY2UgPT4gc291cmNlLnNvdXJjZVR5cGUpLmluY2x1ZGVzKGF2YXRhclNvdXJjZSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdmF0YXIvIiwic291cmNlcyI6WyJsaWIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQTRDaEQsTUFBTSxPQUFPLGVBQWU7Ozs7OztJQXNEMUIsWUFDUyxVQUFzQixFQUN0QixhQUE0QixFQUMzQixhQUE0QjtRQUY3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdkQvQixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBSWxCLFlBQU8sR0FBRyxNQUFNLENBQUM7UUFJakIsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUVoQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQTJCakIsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUUzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2YsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUVuQixrQkFBYSxHQUFHLENBQUMsQ0FB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c0I7O0lBQ3RCLGlDQUNzQjs7SUFDdEIsbUNBQ3dCOztJQUN4QixnQ0FDcUI7O0lBQ3JCLHNDQUMyQjs7SUFDM0IsdUNBQzRCOztJQUU1Qix3Q0FDa0U7O0lBRWxFLGtDQUFzQjs7SUFDdEIsb0NBQXlCOztJQUN6QixxQ0FBMEI7O0lBQzFCLHNDQUE2Qjs7SUFDN0Isb0NBQTJCOztJQUUzQix3Q0FBMEI7O0lBQzFCLGtDQUFvQzs7SUFHbEMscUNBQTZCOztJQUM3Qix3Q0FBbUM7O0lBQ25DLHdDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZSxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IEFzeW5jU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL2FzeW5jLXNvdXJjZSc7XG5pbXBvcnQgeyBTb3VyY2VGYWN0b3J5IH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5mYWN0b3J5JztcbmltcG9ydCB7IEF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2F2YXRhci5zZXJ2aWNlJztcbmltcG9ydCB7IEF2YXRhclNvdXJjZSB9IGZyb20gJy4vc291cmNlcy9hdmF0YXItc291cmNlLmVudW0nO1xuaW1wb3J0IHsgdGFrZVdoaWxlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogVW5pdmVyc2FsIGF2YXRhciBjb21wb25lbnQgdGhhdFxuICogZ2VuZXJhdGVzIGF2YXRhciBmcm9tIGRpZmZlcmVudCBzb3VyY2VzXG4gKlxuICogZXhwb3J0XG4gKiBjbGFzcyBBdmF0YXJDb21wb25lbnRcbiAqIGltcGxlbWVudHMge09uQ2hhbmdlc31cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ25neC1hdmF0YXInLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICc1MCUnO1xuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAoY2xpY2spPVwib25BdmF0YXJDbGlja2VkKClcIlxuICAgICAgY2xhc3M9XCJhdmF0YXItY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cImhvc3RTdHlsZVwiXG4gICAgPlxuICAgICAgPGltZ1xuICAgICAgICAqbmdJZj1cImF2YXRhclNyYzsgZWxzZSB0ZXh0QXZhdGFyXCJcbiAgICAgICAgW3NyY109XCJhdmF0YXJTcmNcIlxuICAgICAgICBbd2lkdGhdPVwic2l6ZVwiXG4gICAgICAgIFtoZWlnaHRdPVwic2l6ZVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImF2YXRhclN0eWxlXCJcbiAgICAgICAgKGVycm9yKT1cImZldGNoQXZhdGFyU291cmNlKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImF2YXRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3RleHRBdmF0YXI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhdmF0YXJUZXh0XCIgY2xhc3M9XCJhdmF0YXItY29udGVudFwiIFtuZ1N0eWxlXT1cImF2YXRhclN0eWxlXCI+XG4gICAgICAgICAge3sgYXZhdGFyVGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgcm91bmQgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZSA9IDUwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dFNpemVSYXRpbyA9IDM7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBiZ0NvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmZ0NvbG9yID0gJyNGRkYnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgYm9yZGVyQ29sb3I6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIHN0eWxlOiBhbnkgPSB7fTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvcm5lclJhZGl1cyA9IDA7XG4gIEBJbnB1dCgnZmFjZWJvb2tJZCcpXG4gIHB1YmxpYyBmYWNlYm9vazogc3RyaW5nO1xuICBASW5wdXQoJ3R3aXR0ZXJJZCcpXG4gIHB1YmxpYyB0d2l0dGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgnZ29vZ2xlSWQnKVxuICBwdWJsaWMgZ29vZ2xlOiBzdHJpbmc7XG4gIEBJbnB1dCgndmtvbnRha3RlSWQnKVxuICBwdWJsaWMgdmtvbnRha3RlOiBzdHJpbmc7XG4gIEBJbnB1dCgnc2t5cGVJZCcpXG4gIHB1YmxpYyBza3lwZTogc3RyaW5nO1xuICBASW5wdXQoJ2dyYXZhdGFySWQnKVxuICBwdWJsaWMgZ3JhdmF0YXI6IHN0cmluZztcbiAgQElucHV0KCdnaXRodWJJZCcpXG4gIHB1YmxpYyBnaXRodWI6IHN0cmluZztcbiAgQElucHV0KCdzcmMnKVxuICBwdWJsaWMgY3VzdG9tOiBzdHJpbmc7XG4gIEBJbnB1dCgnbmFtZScpXG4gIHB1YmxpYyBpbml0aWFsczogc3RyaW5nO1xuICBASW5wdXQoJ3ZhbHVlJylcbiAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgncGxhY2Vob2xkZXInKVxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCdpbml0aWFsc1NpemUnKVxuICBwdWJsaWMgaW5pdGlhbHNTaXplOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbGlja09uQXZhdGFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHB1YmxpYyBpc0FsaXZlID0gdHJ1ZTtcbiAgcHVibGljIGF2YXRhclNyYzogc3RyaW5nO1xuICBwdWJsaWMgYXZhdGFyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgYXZhdGFyU3R5bGU6IGFueSA9IHt9O1xuICBwdWJsaWMgaG9zdFN0eWxlOiBhbnkgPSB7fTtcblxuICBwcml2YXRlIGN1cnJlbnRTb3VyY2UgPSAwO1xuICBwcml2YXRlIHNvdXJjZXM6IFNvdXJjZVtdID0gQXJyYXkoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgc291cmNlRmFjdG9yeTogU291cmNlRmFjdG9yeSxcbiAgICBwcml2YXRlIGF2YXRhclNlcnZpY2U6IEF2YXRhclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBvbkF2YXRhckNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja09uQXZhdGFyLmVtaXQodGhpcy5zb3VyY2VzW3RoaXMuY3VycmVudFNvdXJjZSAtIDFdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlY3QgaW5wdXRzIGNoYW5nZVxuICAgKlxuICAgKiBwYXJhbSB7eyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH19IGNoYW5nZXNcbiAgICpcbiAgICogbWVtYmVyb2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoYW5nZXMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hdmF0YXJTZXJ2aWNlLmlzU291cmNlKHByb3BOYW1lKSAmJlxuICAgICAgICBjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMuYWRkU291cmNlKEF2YXRhclNvdXJjZVtwcm9wTmFtZS50b1VwcGVyQ2FzZSgpXSwgY3VycmVudFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmVpbnRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgd2hlbiBhIHNvdXJjZSBwcm9wZXJ0eSB2YWx1ZSBoYXMgY2hhbmdlZFxuICAgIC8vIHRoZSBmYWxsYmFjayBzeXN0ZW0gbXVzdCBiZSByZS1pbnZva2VkIHdpdGggdGhlIG5ldyB2YWx1ZXMuXG4gICAgdGhpcy5pbml0aWFsaXplQXZhdGFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYXZhdGFyIHNvdXJjZVxuICAgKlxuICAgKiBwYXJhbSB7YW55fSBldmVudFxuICAgKlxuICAgKiBtZW1iZXJPZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyBmZXRjaEF2YXRhclNvdXJjZShldmVudD86IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGF2YXRhclNvdXJjZSA9IHRoaXMuc291cmNlc1t0aGlzLmN1cnJlbnRTb3VyY2VdO1xuICAgIGlmICghYXZhdGFyU291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmF2YXRhclNlcnZpY2UuaXNUZXh0QXZhdGFyKGF2YXRhclNvdXJjZS5zb3VyY2VUeXBlKSkge1xuICAgICAgdGhpcy5idWlsZFRleHRBdmF0YXIoYXZhdGFyU291cmNlKTtcbiAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHRoaXMgaXMgbmVlZGVkXG4gICAgICB0aGlzLmF2YXRhclNyYyA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWlsZEltYWdlQXZhdGFyKGF2YXRhclNvdXJjZSk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFNvdXJjZSsrO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNBbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgYW5kIGl0cyBmYWxsYmFjayBzeXN0ZW1cbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUF2YXRhcigpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTb3VyY2UgPSAwO1xuICAgIGlmICh0aGlzLnNvdXJjZXMubGVuZ3RoID4gMCAmJiB0aGlzLnNvdXJjZXNbdGhpcy5jdXJyZW50U291cmNlXSkge1xuICAgICAgdGhpcy5zb3J0QXZhdGFyU291cmNlcygpO1xuICAgICAgdGhpcy5mZXRjaEF2YXRhclNvdXJjZSgpO1xuICAgICAgdGhpcy5ob3N0U3R5bGUgPSB7XG4gICAgICAgIHdpZHRoOiB0aGlzLnNpemUgKyAncHgnLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCdcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0QXZhdGFyU291cmNlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZXMuc29ydCgoc291cmNlMSwgc291cmNlMikgPT5cbiAgICAgIHRoaXMuYXZhdGFyU2VydmljZS5jb3BtYXJlU291cmNlcyhzb3VyY2UxLnNvdXJjZVR5cGUsIHNvdXJjZTIuc291cmNlVHlwZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRleHRBdmF0YXIoYXZhdGFyU291cmNlOiBTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLmF2YXRhclRleHQgPSBhdmF0YXJTb3VyY2UuZ2V0QXZhdGFyKHRoaXMuaW5pdGlhbHNTaXplKTtcbiAgICB0aGlzLmF2YXRhclN0eWxlID0gdGhpcy5nZXRJbml0aWFsc1N0eWxlKGF2YXRhclNvdXJjZS5zb3VyY2VJZCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW1hZ2VBdmF0YXIoYXZhdGFyU291cmNlOiBTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLmF2YXRhclN0eWxlID0gdGhpcy5nZXRJbWFnZVN0eWxlKCk7XG4gICAgaWYgKGF2YXRhclNvdXJjZSBpbnN0YW5jZW9mIEFzeW5jU291cmNlKSB7XG4gICAgICB0aGlzLmZldGNoQW5kUHJvY2Vzc0FzeW5jQXZhdGFyKGF2YXRhclNvdXJjZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXZhdGFyU3JjID0gYXZhdGFyU291cmNlLmdldEF2YXRhcih0aGlzLnNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiByZXR1cm5zIGluaXRpYWxzIHN0eWxlXG4gICAqXG4gICAqIG1lbWJlck9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbml0aWFsc1N0eWxlKGF2YXRhclZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/ICcxMDAlJyA6IHRoaXMuY29ybmVyUmFkaXVzICsgJ3B4JyxcbiAgICAgIGJvcmRlcjogdGhpcy5ib3JkZXJDb2xvciA/ICcxcHggc29saWQgJyArIHRoaXMuYm9yZGVyQ29sb3IgOiAnJyxcbiAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgY29sb3I6IHRoaXMuZmdDb2xvcixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5iZ0NvbG9yXG4gICAgICAgID8gdGhpcy5iZ0NvbG9yXG4gICAgICAgIDogdGhpcy5hdmF0YXJTZXJ2aWNlLmdldFJhbmRvbUNvbG9yKGF2YXRhclZhbHVlKSxcbiAgICAgIGZvbnQ6XG4gICAgICAgIE1hdGguZmxvb3IodGhpcy5zaXplIC8gdGhpcy50ZXh0U2l6ZVJhdGlvKSArXG4gICAgICAgICdweCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgICAgIGxpbmVIZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICAuLi50aGlzLnN0eWxlXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiByZXR1cm5zIGltYWdlIHN0eWxlXG4gICAqXG4gICAqIG1lbWJlck9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbWFnZVN0eWxlKCk6IHZvaWQge1xuICAgIHJldHVybiB7XG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLnJvdW5kID8gJzUwJScgOiB0aGlzLmNvcm5lclJhZGl1cyArICdweCcsXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyQ29sb3IgPyAnMXB4IHNvbGlkICcgKyB0aGlzLmJvcmRlckNvbG9yIDogJycsXG4gICAgICB3aWR0aDogdGhpcy5zaXplLFxuICAgICAgaGVpZ2h0OiB0aGlzLnNpemUsXG4gICAgICAuLi50aGlzLnN0eWxlXG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogRmV0Y2ggYXZhdGFyIGltYWdlIGFzeW5jaHJvdW5zbHkuXG4gICAqXG4gICAqIHBhcmFtIHtTb3VyY2V9IHNvdXJjZSByZXByZXNlbnRzIGF2YXRhciBzb3VyY2VcbiAgICogbWVtYmVyb2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIGZldGNoQW5kUHJvY2Vzc0FzeW5jQXZhdGFyKHNvdXJjZTogQXN5bmNTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLmF2YXRhclNlcnZpY2VcbiAgICAgIC5mZXRjaEF2YXRhcihzb3VyY2UuZ2V0QXZhdGFyKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuaXNBbGl2ZSksXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiBzb3VyY2UucHJvY2Vzc1Jlc3BvbnNlKHJlc3BvbnNlLCB0aGlzLnNpemUpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgYXZhdGFyU3JjID0+ICh0aGlzLmF2YXRhclNyYyA9IGF2YXRhclNyYyksXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIGBuZ3gtYXZhdGFyOiBlcnJvciB3aGlsZSBmZXRjaGluZyAke3NvdXJjZS5zb3VyY2VUeXBlfSBhdmF0YXIgYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGF2YXRhciBzb3VyY2VcbiAgICpcbiAgICogcGFyYW0gc291cmNlVHlwZSBhdmF0YXIgc291cmNlIHR5cGUgZS5nIGZhY2Vib29rLHR3aXR0ZXIsIGV0Yy5cbiAgICogcGFyYW0gc291cmNlVmFsdWUgIHNvdXJjZSB2YWx1ZSBlLmcgZmFjZWJvb2tJZCB2YWx1ZSwgZXRjLlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRTb3VyY2Uoc291cmNlVHlwZTogQXZhdGFyU291cmNlLCBzb3VyY2VWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU291cmNlRXhpc3Qoc291cmNlVHlwZSkpIHtcbiAgICAgIHRoaXMuc291cmNlcy5wdXNoKFxuICAgICAgICB0aGlzLnNvdXJjZUZhY3RvcnkubmV3SW5zdGFuY2Uoc291cmNlVHlwZSwgc291cmNlVmFsdWUpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc291cmNlcy5maW5kSW5kZXgoXG4gICAgICAgIHNvdXJjZSA9PiBzb3VyY2Uuc291cmNlVHlwZSA9PT0gc291cmNlVHlwZVxuICAgICAgKTtcbiAgICAgIHRoaXMuc291cmNlc1tpbmRleF0uc291cmNlSWQgPSBzb3VyY2VWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzU291cmNlRXhpc3QoYXZhdGFyU291cmNlOiBBdmF0YXJTb3VyY2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VzLm1hcChzb3VyY2UgPT4gc291cmNlLnNvdXJjZVR5cGUpLmluY2x1ZGVzKGF2YXRhclNvdXJjZSk7XG4gIH1cbn1cbiJdfQ==

@@ -275,3 +275,3 @@ /**

.fetchAvatar(source.getAvatar())
.pipe(takeWhile(function () { return !_this.isAlive; }), map(function (response) { return source.processResponse(response, _this.size); }))
.pipe(takeWhile(function () { return _this.isAlive; }), map(function (response) { return source.processResponse(response, _this.size); }))
.subscribe(function (avatarSrc) { return (_this.avatarSrc = avatarSrc); }, function (err) {

@@ -430,2 +430,2 @@ console.error("ngx-avatar: error while fetching " + source.sourceType + " avatar ");

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdmF0YXIvIiwic291cmNlcyI6WyJsaWIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUlYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFXaEQ7SUF1RkUseUJBQ1MsVUFBc0IsRUFDdEIsYUFBNEIsRUFDM0IsYUFBNEI7UUFGN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXZEL0IsVUFBSyxHQUFHLElBQUksQ0FBQztRQUViLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBSWpCLFVBQUssR0FBUSxFQUFFLENBQUM7UUFFaEIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUEyQmpCLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFM0QsWUFBTyxHQUFHLElBQUksQ0FBQztRQUdmLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFFbkIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsWUFBTyxHQUFhLEtB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QUMsTUFBTTt3QkFFWixLQUFLLFNBQUMsT0FBTzs4QkFFYixLQUFLLFNBQUMsYUFBYTsrQkFFbkIsS0FBSyxTQUFDLGNBQWM7Z0NBR3BCLE1BQU07O0lBOExULHNCQUFDO0NBQUEsQUF6UUQsSUF5UUM7U0F4T1ksZUFBZTs7O0lBQzFCLGdDQUNvQjs7SUFDcEIsK0JBQ2lCOztJQUNqQix3Q0FDeUI7O0lBQ3pCLGtDQUN1Qjs7SUFDdkIsa0NBQ3dCOztJQUN4QixzQ0FDMkI7O0lBQzNCLGdDQUN1Qjs7SUFDdkIsdUNBQ3dCOztJQUN4QixtQ0FDd0I7O0lBQ3hCLGtDQUN1Qjs7SUFDdkIsaUNBQ3NCOztJQUN0QixvQ0FDeUI7O0lBQ3pCLGdDQUNxQjs7SUFDckIsbUNBQ3dCOztJQUN4QixpQ0FDc0I7O0lBQ3RCLGlDQUNzQjs7SUFDdEIsbUNBQ3dCOztJQUN4QixnQ0FDcUI7O0lBQ3JCLHNDQUMyQjs7SUFDM0IsdUNBQzRCOztJQUU1Qix3Q0FDa0U7O0lBRWxFLGtDQUFzQjs7SUFDdEIsb0NBQXlCOztJQUN6QixxQ0FBMEI7O0lBQzFCLHNDQUE2Qjs7SUFDN0Isb0NBQTJCOztJQUUzQix3Q0FBMEI7O0lBQzFCLGtDQUFvQzs7SUFHbEMscUNBQTZCOztJQUM3Qix3Q0FBbUM7O0lBQ25DLHdDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZSxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IEFzeW5jU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL2FzeW5jLXNvdXJjZSc7XG5pbXBvcnQgeyBTb3VyY2VGYWN0b3J5IH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5mYWN0b3J5JztcbmltcG9ydCB7IEF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2F2YXRhci5zZXJ2aWNlJztcbmltcG9ydCB7IEF2YXRhclNvdXJjZSB9IGZyb20gJy4vc291cmNlcy9hdmF0YXItc291cmNlLmVudW0nO1xuaW1wb3J0IHsgdGFrZVdoaWxlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogVW5pdmVyc2FsIGF2YXRhciBjb21wb25lbnQgdGhhdFxuICogZ2VuZXJhdGVzIGF2YXRhciBmcm9tIGRpZmZlcmVudCBzb3VyY2VzXG4gKlxuICogZXhwb3J0XG4gKiBjbGFzcyBBdmF0YXJDb21wb25lbnRcbiAqIGltcGxlbWVudHMge09uQ2hhbmdlc31cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ25neC1hdmF0YXInLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICc1MCUnO1xuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAoY2xpY2spPVwib25BdmF0YXJDbGlja2VkKClcIlxuICAgICAgY2xhc3M9XCJhdmF0YXItY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cImhvc3RTdHlsZVwiXG4gICAgPlxuICAgICAgPGltZ1xuICAgICAgICAqbmdJZj1cImF2YXRhclNyYzsgZWxzZSB0ZXh0QXZhdGFyXCJcbiAgICAgICAgW3NyY109XCJhdmF0YXJTcmNcIlxuICAgICAgICBbd2lkdGhdPVwic2l6ZVwiXG4gICAgICAgIFtoZWlnaHRdPVwic2l6ZVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImF2YXRhclN0eWxlXCJcbiAgICAgICAgKGVycm9yKT1cImZldGNoQXZhdGFyU291cmNlKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImF2YXRhci1jb250ZW50XCJcbiAgICAgIC8+XG4gICAgICA8bmctdGVtcGxhdGUgI3RleHRBdmF0YXI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhdmF0YXJUZXh0XCIgY2xhc3M9XCJhdmF0YXItY29udGVudFwiIFtuZ1N0eWxlXT1cImF2YXRhclN0eWxlXCI+XG4gICAgICAgICAge3sgYXZhdGFyVGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgcm91bmQgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZSA9IDUwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dFNpemVSYXRpbyA9IDM7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBiZ0NvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmZ0NvbG9yID0gJyNGRkYnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgYm9yZGVyQ29sb3I6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIHN0eWxlOiBhbnkgPSB7fTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvcm5lclJhZGl1cyA9IDA7XG4gIEBJbnB1dCgnZmFjZWJvb2tJZCcpXG4gIHB1YmxpYyBmYWNlYm9vazogc3RyaW5nO1xuICBASW5wdXQoJ3R3aXR0ZXJJZCcpXG4gIHB1YmxpYyB0d2l0dGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgnZ29vZ2xlSWQnKVxuICBwdWJsaWMgZ29vZ2xlOiBzdHJpbmc7XG4gIEBJbnB1dCgndmtvbnRha3RlSWQnKVxuICBwdWJsaWMgdmtvbnRha3RlOiBzdHJpbmc7XG4gIEBJbnB1dCgnc2t5cGVJZCcpXG4gIHB1YmxpYyBza3lwZTogc3RyaW5nO1xuICBASW5wdXQoJ2dyYXZhdGFySWQnKVxuICBwdWJsaWMgZ3JhdmF0YXI6IHN0cmluZztcbiAgQElucHV0KCdnaXRodWJJZCcpXG4gIHB1YmxpYyBnaXRodWI6IHN0cmluZztcbiAgQElucHV0KCdzcmMnKVxuICBwdWJsaWMgY3VzdG9tOiBzdHJpbmc7XG4gIEBJbnB1dCgnbmFtZScpXG4gIHB1YmxpYyBpbml0aWFsczogc3RyaW5nO1xuICBASW5wdXQoJ3ZhbHVlJylcbiAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgncGxhY2Vob2xkZXInKVxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCdpbml0aWFsc1NpemUnKVxuICBwdWJsaWMgaW5pdGlhbHNTaXplOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbGlja09uQXZhdGFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHB1YmxpYyBpc0FsaXZlID0gdHJ1ZTtcbiAgcHVibGljIGF2YXRhclNyYzogc3RyaW5nO1xuICBwdWJsaWMgYXZhdGFyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgYXZhdGFyU3R5bGU6IGFueSA9IHt9O1xuICBwdWJsaWMgaG9zdFN0eWxlOiBhbnkgPSB7fTtcblxuICBwcml2YXRlIGN1cnJlbnRTb3VyY2UgPSAwO1xuICBwcml2YXRlIHNvdXJjZXM6IFNvdXJjZVtdID0gQXJyYXkoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgc291cmNlRmFjdG9yeTogU291cmNlRmFjdG9yeSxcbiAgICBwcml2YXRlIGF2YXRhclNlcnZpY2U6IEF2YXRhclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBvbkF2YXRhckNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja09uQXZhdGFyLmVtaXQodGhpcy5zb3VyY2VzW3RoaXMuY3VycmVudFNvdXJjZSAtIDFdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlY3QgaW5wdXRzIGNoYW5nZVxuICAgKlxuICAgKiBwYXJhbSB7eyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH19IGNoYW5nZXNcbiAgICpcbiAgICogbWVtYmVyb2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoYW5nZXMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hdmF0YXJTZXJ2aWNlLmlzU291cmNlKHByb3BOYW1lKSAmJlxuICAgICAgICBjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMuYWRkU291cmNlKEF2YXRhclNvdXJjZVtwcm9wTmFtZS50b1VwcGVyQ2FzZSgpXSwgY3VycmVudFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmVpbnRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgd2hlbiBhIHNvdXJjZSBwcm9wZXJ0eSB2YWx1ZSBoYXMgY2hhbmdlZFxuICAgIC8vIHRoZSBmYWxsYmFjayBzeXN0ZW0gbXVzdCBiZSByZS1pbnZva2VkIHdpdGggdGhlIG5ldyB2YWx1ZXMuXG4gICAgdGhpcy5pbml0aWFsaXplQXZhdGFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYXZhdGFyIHNvdXJjZVxuICAgKlxuICAgKiBwYXJhbSB7YW55fSBldmVudFxuICAgKlxuICAgKiBtZW1iZXJPZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyBmZXRjaEF2YXRhclNvdXJjZShldmVudD86IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGF2YXRhclNvdXJjZSA9IHRoaXMuc291cmNlc1t0aGlzLmN1cnJlbnRTb3VyY2VdO1xuICAgIGlmICghYXZhdGFyU291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmF2YXRhclNlcnZpY2UuaXNUZXh0QXZhdGFyKGF2YXRhclNvdXJjZS5zb3VyY2VUeXBlKSkge1xuICAgICAgdGhpcy5idWlsZFRleHRBdmF0YXIoYXZhdGFyU291cmNlKTtcbiAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHRoaXMgaXMgbmVlZGVkXG4gICAgICB0aGlzLmF2YXRhclNyYyA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWlsZEltYWdlQXZhdGFyKGF2YXRhclNvdXJjZSk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFNvdXJjZSsrO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNBbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgYW5kIGl0cyBmYWxsYmFjayBzeXN0ZW1cbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUF2YXRhcigpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTb3VyY2UgPSAwO1xuICAgIGlmICh0aGlzLnNvdXJjZXMubGVuZ3RoID4gMCAmJiB0aGlzLnNvdXJjZXNbdGhpcy5jdXJyZW50U291cmNlXSkge1xuICAgICAgdGhpcy5zb3J0QXZhdGFyU291cmNlcygpO1xuICAgICAgdGhpcy5mZXRjaEF2YXRhclNvdXJjZSgpO1xuICAgICAgdGhpcy5ob3N0U3R5bGUgPSB7XG4gICAgICAgIHdpZHRoOiB0aGlzLnNpemUgKyAncHgnLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCdcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0QXZhdGFyU291cmNlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZXMuc29ydCgoc291cmNlMSwgc291cmNlMikgPT5cbiAgICAgIHRoaXMuYXZhdGFyU2VydmljZS5jb3BtYXJlU291cmNlcyhzb3VyY2UxLnNvdXJjZVR5cGUsIHNvdXJjZTIuc291cmNlVHlwZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRleHRBdmF0YXIoYXZhdGFyU291cmNlOiBTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLmF2YXRhclRleHQgPSBhdmF0YXJTb3VyY2UuZ2V0QXZhdGFyKHRoaXMuaW5pdGlhbHNTaXplKTtcbiAgICB0aGlzLmF2YXRhclN0eWxlID0gdGhpcy5nZXRJbml0aWFsc1N0eWxlKGF2YXRhclNvdXJjZS5zb3VyY2VJZCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW1hZ2VBdmF0YXIoYXZhdGFyU291cmNlOiBTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLmF2YXRhclN0eWxlID0gdGhpcy5nZXRJbWFnZVN0eWxlKCk7XG4gICAgaWYgKGF2YXRhclNvdXJjZSBpbnN0YW5jZW9mIEFzeW5jU291cmNlKSB7XG4gICAgICB0aGlzLmZldGNoQW5kUHJvY2Vzc0FzeW5jQXZhdGFyKGF2YXRhclNvdXJjZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXZhdGFyU3JjID0gYXZhdGFyU291cmNlLmdldEF2YXRhcih0aGlzLnNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiByZXR1cm5zIGluaXRpYWxzIHN0eWxlXG4gICAqXG4gICAqIG1lbWJlck9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbml0aWFsc1N0eWxlKGF2YXRhclZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/ICcxMDAlJyA6IHRoaXMuY29ybmVyUmFkaXVzICsgJ3B4JyxcbiAgICAgIGJvcmRlcjogdGhpcy5ib3JkZXJDb2xvciA/ICcxcHggc29saWQgJyArIHRoaXMuYm9yZGVyQ29sb3IgOiAnJyxcbiAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgY29sb3I6IHRoaXMuZmdDb2xvcixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5iZ0NvbG9yXG4gICAgICAgID8gdGhpcy5iZ0NvbG9yXG4gICAgICAgIDogdGhpcy5hdmF0YXJTZXJ2aWNlLmdldFJhbmRvbUNvbG9yKGF2YXRhclZhbHVlKSxcbiAgICAgIGZvbnQ6XG4gICAgICAgIE1hdGguZmxvb3IodGhpcy5zaXplIC8gdGhpcy50ZXh0U2l6ZVJhdGlvKSArXG4gICAgICAgICdweCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgICAgIGxpbmVIZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICAuLi50aGlzLnN0eWxlXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiByZXR1cm5zIGltYWdlIHN0eWxlXG4gICAqXG4gICAqIG1lbWJlck9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbWFnZVN0eWxlKCk6IHZvaWQge1xuICAgIHJldHVybiB7XG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLnJvdW5kID8gJzUwJScgOiB0aGlzLmNvcm5lclJhZGl1cyArICdweCcsXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyQ29sb3IgPyAnMXB4IHNvbGlkICcgKyB0aGlzLmJvcmRlckNvbG9yIDogJycsXG4gICAgICB3aWR0aDogdGhpcy5zaXplLFxuICAgICAgaGVpZ2h0OiB0aGlzLnNpemUsXG4gICAgICAuLi50aGlzLnN0eWxlXG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogRmV0Y2ggYXZhdGFyIGltYWdlIGFzeW5jaHJvdW5zbHkuXG4gICAqXG4gICAqIHBhcmFtIHtTb3VyY2V9IHNvdXJjZSByZXByZXNlbnRzIGF2YXRhciBzb3VyY2VcbiAgICogbWVtYmVyb2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIGZldGNoQW5kUHJvY2Vzc0FzeW5jQXZhdGFyKHNvdXJjZTogQXN5bmNTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLmF2YXRhclNlcnZpY2VcbiAgICAgIC5mZXRjaEF2YXRhcihzb3VyY2UuZ2V0QXZhdGFyKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+ICF0aGlzLmlzQWxpdmUpLFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gc291cmNlLnByb2Nlc3NSZXNwb25zZShyZXNwb25zZSwgdGhpcy5zaXplKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGF2YXRhclNyYyA9PiAodGhpcy5hdmF0YXJTcmMgPSBhdmF0YXJTcmMpLFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICBgbmd4LWF2YXRhcjogZXJyb3Igd2hpbGUgZmV0Y2hpbmcgJHtzb3VyY2Uuc291cmNlVHlwZX0gYXZhdGFyIGBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhdmF0YXIgc291cmNlXG4gICAqXG4gICAqIHBhcmFtIHNvdXJjZVR5cGUgYXZhdGFyIHNvdXJjZSB0eXBlIGUuZyBmYWNlYm9vayx0d2l0dGVyLCBldGMuXG4gICAqIHBhcmFtIHNvdXJjZVZhbHVlICBzb3VyY2UgdmFsdWUgZS5nIGZhY2Vib29rSWQgdmFsdWUsIGV0Yy5cbiAgICovXG4gIHByaXZhdGUgYWRkU291cmNlKHNvdXJjZVR5cGU6IEF2YXRhclNvdXJjZSwgc291cmNlVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NvdXJjZUV4aXN0KHNvdXJjZVR5cGUpKSB7XG4gICAgICB0aGlzLnNvdXJjZXMucHVzaChcbiAgICAgICAgdGhpcy5zb3VyY2VGYWN0b3J5Lm5ld0luc3RhbmNlKHNvdXJjZVR5cGUsIHNvdXJjZVZhbHVlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNvdXJjZXMuZmluZEluZGV4KFxuICAgICAgICBzb3VyY2UgPT4gc291cmNlLnNvdXJjZVR5cGUgPT09IHNvdXJjZVR5cGVcbiAgICAgICk7XG4gICAgICB0aGlzLnNvdXJjZXNbaW5kZXhdLnNvdXJjZUlkID0gc291cmNlVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1NvdXJjZUV4aXN0KGF2YXRhclNvdXJjZTogQXZhdGFyU291cmNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlcy5tYXAoc291cmNlID0+IHNvdXJjZS5zb3VyY2VUeXBlKS5pbmNsdWRlcyhhdmF0YXJTb3VyY2UpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdmF0YXIvIiwic291cmNlcyI6WyJsaWIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUlYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFXaEQ7SUF1RkUseUJBQ1MsVUFBc0IsRUFDdEIsYUFBNEIsRUFDM0IsYUFBNEI7UUFGN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXZEL0IsVUFBSyxHQUFHLElBQUksQ0FBQztRQUViLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBSWpCLFVBQUssR0FBUSxFQUFFLENBQUM7UUFFaEIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUEyQmpCLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFM0QsWUFBTyxHQUFHLElBQUksQ0FBQztRQUdmLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFFbkIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsWUFBTyxHQUFhLEtB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QU07d0JBRVosS0FBSyxTQUFDLE9BQU87OEJBRWIsS0FBSyxTQUFDLGFBQWE7K0JBRW5CLEtBQUssU0FBQyxjQUFjO2dDQUdwQixNQUFNOztJQThMVCxzQkFBQztDQUFBLEFBelFELElBeVFDO1NBeE9ZLGVBQWU7OztJQUMxQixnQ0FDb0I7O0lBQ3BCLCtCQUNpQjs7SUFDakIsd0NBQ3lCOztJQUN6QixrQ0FDdUI7O0lBQ3ZCLGtDQUN3Qjs7SUFDeEIsc0NBQzJCOztJQUMzQixnQ0FDdUI7O0lBQ3ZCLHVDQUN3Qjs7SUFDeEIsbUNBQ3dCOztJQUN4QixrQ0FDdUI7O0lBQ3ZCLGlDQUNzQjs7SUFDdEIsb0NBQ3lCOztJQUN6QixnQ0FDcUI7O0lBQ3JCLG1DQUN3Qjs7SUFDeEIsaUNBQ3NCOztJQUN0QixpQ0FDc0I7O0lBQ3RCLG1DQUN3Qjs7SUFDeEIsZ0NBQ3FCOztJQUNyQixzQ0FDMkI7O0lBQzNCLHVDQUM0Qjs7SUFFNUIsd0NBQ2tFOztJQUVsRSxrQ0FBc0I7O0lBQ3RCLG9DQUF5Qjs7SUFDekIscUNBQTBCOztJQUMxQixzQ0FBNkI7O0lBQzdCLG9DQUEyQjs7SUFFM0Isd0NBQTBCOztJQUMxQixrQ0FBb0M7O0lBR2xDLHFDQUE2Qjs7SUFDN0Isd0NBQW1DOztJQUNuQyx3Q0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2UsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBBc3luY1NvdXJjZSB9IGZyb20gJy4vc291cmNlcy9hc3luYy1zb3VyY2UnO1xuaW1wb3J0IHsgU291cmNlRmFjdG9yeSB9IGZyb20gJy4vc291cmNlcy9zb3VyY2UuZmFjdG9yeSc7XG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9hdmF0YXIuc2VydmljZSc7XG5pbXBvcnQgeyBBdmF0YXJTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvYXZhdGFyLXNvdXJjZS5lbnVtJztcbmltcG9ydCB7IHRha2VXaGlsZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFVuaXZlcnNhbCBhdmF0YXIgY29tcG9uZW50IHRoYXRcbiAqIGdlbmVyYXRlcyBhdmF0YXIgZnJvbSBkaWZmZXJlbnQgc291cmNlc1xuICpcbiAqIGV4cG9ydFxuICogY2xhc3MgQXZhdGFyQ29tcG9uZW50XG4gKiBpbXBsZW1lbnRzIHtPbkNoYW5nZXN9XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICduZ3gtYXZhdGFyJyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAnNTAlJztcbiAgICAgIH1cbiAgICBgXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgKGNsaWNrKT1cIm9uQXZhdGFyQ2xpY2tlZCgpXCJcbiAgICAgIGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJob3N0U3R5bGVcIlxuICAgID5cbiAgICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJTcmM7IGVsc2UgdGV4dEF2YXRhclwiXG4gICAgICAgIFtzcmNdPVwiYXZhdGFyU3JjXCJcbiAgICAgICAgW3dpZHRoXT1cInNpemVcIlxuICAgICAgICBbaGVpZ2h0XT1cInNpemVcIlxuICAgICAgICBbbmdTdHlsZV09XCJhdmF0YXJTdHlsZVwiXG4gICAgICAgIChlcnJvcik9XCJmZXRjaEF2YXRhclNvdXJjZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJhdmF0YXItY29udGVudFwiXG4gICAgICAvPlxuICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0QXZhdGFyPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyVGV4dFwiIGNsYXNzPVwiYXZhdGFyLWNvbnRlbnRcIiBbbmdTdHlsZV09XCJhdmF0YXJTdHlsZVwiPlxuICAgICAgICAgIHt7IGF2YXRhclRleHQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHJvdW5kID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIHNpemUgPSA1MDtcbiAgQElucHV0KClcbiAgcHVibGljIHRleHRTaXplUmF0aW8gPSAzO1xuICBASW5wdXQoKVxuICBwdWJsaWMgYmdDb2xvcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmdDb2xvciA9ICcjRkZGJztcbiAgQElucHV0KClcbiAgcHVibGljIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdHlsZTogYW55ID0ge307XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb3JuZXJSYWRpdXMgPSAwO1xuICBASW5wdXQoJ2ZhY2Vib29rSWQnKVxuICBwdWJsaWMgZmFjZWJvb2s6IHN0cmluZztcbiAgQElucHV0KCd0d2l0dGVySWQnKVxuICBwdWJsaWMgdHdpdHRlcjogc3RyaW5nO1xuICBASW5wdXQoJ2dvb2dsZUlkJylcbiAgcHVibGljIGdvb2dsZTogc3RyaW5nO1xuICBASW5wdXQoJ3Zrb250YWt0ZUlkJylcbiAgcHVibGljIHZrb250YWt0ZTogc3RyaW5nO1xuICBASW5wdXQoJ3NreXBlSWQnKVxuICBwdWJsaWMgc2t5cGU6IHN0cmluZztcbiAgQElucHV0KCdncmF2YXRhcklkJylcbiAgcHVibGljIGdyYXZhdGFyOiBzdHJpbmc7XG4gIEBJbnB1dCgnZ2l0aHViSWQnKVxuICBwdWJsaWMgZ2l0aHViOiBzdHJpbmc7XG4gIEBJbnB1dCgnc3JjJylcbiAgcHVibGljIGN1c3RvbTogc3RyaW5nO1xuICBASW5wdXQoJ25hbWUnKVxuICBwdWJsaWMgaW5pdGlhbHM6IHN0cmluZztcbiAgQElucHV0KCd2YWx1ZScpXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nO1xuICBASW5wdXQoJ3BsYWNlaG9sZGVyJylcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgnaW5pdGlhbHNTaXplJylcbiAgcHVibGljIGluaXRpYWxzU2l6ZTogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tPbkF2YXRhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgaXNBbGl2ZSA9IHRydWU7XG4gIHB1YmxpYyBhdmF0YXJTcmM6IHN0cmluZztcbiAgcHVibGljIGF2YXRhclRleHQ6IHN0cmluZztcbiAgcHVibGljIGF2YXRhclN0eWxlOiBhbnkgPSB7fTtcbiAgcHVibGljIGhvc3RTdHlsZTogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBjdXJyZW50U291cmNlID0gMDtcbiAgcHJpdmF0ZSBzb3VyY2VzOiBTb3VyY2VbXSA9IEFycmF5KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIHNvdXJjZUZhY3Rvcnk6IFNvdXJjZUZhY3RvcnksXG4gICAgcHJpdmF0ZSBhdmF0YXJTZXJ2aWNlOiBBdmF0YXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgb25BdmF0YXJDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tPbkF2YXRhci5lbWl0KHRoaXMuc291cmNlc1t0aGlzLmN1cnJlbnRTb3VyY2UgLSAxXSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0IGlucHV0cyBjaGFuZ2VcbiAgICpcbiAgICogcGFyYW0ge3sgW3Byb3BLZXk6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9fSBjaGFuZ2VzXG4gICAqXG4gICAqIG1lbWJlcm9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW3Byb3BLZXk6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuYXZhdGFyU2VydmljZS5pc1NvdXJjZShwcm9wTmFtZSkgJiZcbiAgICAgICAgY2hhbmdlc1twcm9wTmFtZV0uY3VycmVudFZhbHVlXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gY2hhbmdlc1twcm9wTmFtZV0uY3VycmVudFZhbHVlO1xuICAgICAgICB0aGlzLmFkZFNvdXJjZShBdmF0YXJTb3VyY2VbcHJvcE5hbWUudG9VcHBlckNhc2UoKV0sIGN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHJlaW50aWFsaXplIHRoZSBhdmF0YXIgY29tcG9uZW50IHdoZW4gYSBzb3VyY2UgcHJvcGVydHkgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICAvLyB0aGUgZmFsbGJhY2sgc3lzdGVtIG11c3QgYmUgcmUtaW52b2tlZCB3aXRoIHRoZSBuZXcgdmFsdWVzLlxuICAgIHRoaXMuaW5pdGlhbGl6ZUF2YXRhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGF2YXRhciBzb3VyY2VcbiAgICpcbiAgICogcGFyYW0ge2FueX0gZXZlbnRcbiAgICpcbiAgICogbWVtYmVyT2YgQXZhdGFyQ29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgZmV0Y2hBdmF0YXJTb3VyY2UoZXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBhdmF0YXJTb3VyY2UgPSB0aGlzLnNvdXJjZXNbdGhpcy5jdXJyZW50U291cmNlXTtcbiAgICBpZiAoIWF2YXRhclNvdXJjZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hdmF0YXJTZXJ2aWNlLmlzVGV4dEF2YXRhcihhdmF0YXJTb3VyY2Uuc291cmNlVHlwZSkpIHtcbiAgICAgIHRoaXMuYnVpbGRUZXh0QXZhdGFyKGF2YXRhclNvdXJjZSk7XG4gICAgICAvLyBUT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lZWRlZFxuICAgICAgdGhpcy5hdmF0YXJTcmMgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVpbGRJbWFnZUF2YXRhcihhdmF0YXJTb3VyY2UpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRTb3VyY2UrKztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBhdmF0YXIgY29tcG9uZW50IGFuZCBpdHMgZmFsbGJhY2sgc3lzdGVtXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVBdmF0YXIoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50U291cmNlID0gMDtcbiAgICBpZiAodGhpcy5zb3VyY2VzLmxlbmd0aCA+IDAgJiYgdGhpcy5zb3VyY2VzW3RoaXMuY3VycmVudFNvdXJjZV0pIHtcbiAgICAgIHRoaXMuc29ydEF2YXRhclNvdXJjZXMoKTtcbiAgICAgIHRoaXMuZmV0Y2hBdmF0YXJTb3VyY2UoKTtcbiAgICAgIHRoaXMuaG9zdFN0eWxlID0ge1xuICAgICAgICB3aWR0aDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnNpemUgKyAncHgnXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEF2YXRhclNvdXJjZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2VzLnNvcnQoKHNvdXJjZTEsIHNvdXJjZTIpID0+XG4gICAgICB0aGlzLmF2YXRhclNlcnZpY2UuY29wbWFyZVNvdXJjZXMoc291cmNlMS5zb3VyY2VUeXBlLCBzb3VyY2UyLnNvdXJjZVR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUZXh0QXZhdGFyKGF2YXRhclNvdXJjZTogU291cmNlKTogdm9pZCB7XG4gICAgdGhpcy5hdmF0YXJUZXh0ID0gYXZhdGFyU291cmNlLmdldEF2YXRhcih0aGlzLmluaXRpYWxzU2l6ZSk7XG4gICAgdGhpcy5hdmF0YXJTdHlsZSA9IHRoaXMuZ2V0SW5pdGlhbHNTdHlsZShhdmF0YXJTb3VyY2Uuc291cmNlSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEltYWdlQXZhdGFyKGF2YXRhclNvdXJjZTogU291cmNlKTogdm9pZCB7XG4gICAgdGhpcy5hdmF0YXJTdHlsZSA9IHRoaXMuZ2V0SW1hZ2VTdHlsZSgpO1xuICAgIGlmIChhdmF0YXJTb3VyY2UgaW5zdGFuY2VvZiBBc3luY1NvdXJjZSkge1xuICAgICAgdGhpcy5mZXRjaEFuZFByb2Nlc3NBc3luY0F2YXRhcihhdmF0YXJTb3VyY2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF2YXRhclNyYyA9IGF2YXRhclNvdXJjZS5nZXRBdmF0YXIodGhpcy5zaXplKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogcmV0dXJucyBpbml0aWFscyBzdHlsZVxuICAgKlxuICAgKiBtZW1iZXJPZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIHByaXZhdGUgZ2V0SW5pdGlhbHNTdHlsZShhdmF0YXJWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICBib3JkZXJSYWRpdXM6IHRoaXMucm91bmQgPyAnMTAwJScgOiB0aGlzLmNvcm5lclJhZGl1cyArICdweCcsXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyQ29sb3IgPyAnMXB4IHNvbGlkICcgKyB0aGlzLmJvcmRlckNvbG9yIDogJycsXG4gICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgIGNvbG9yOiB0aGlzLmZnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuYmdDb2xvclxuICAgICAgICA/IHRoaXMuYmdDb2xvclxuICAgICAgICA6IHRoaXMuYXZhdGFyU2VydmljZS5nZXRSYW5kb21Db2xvcihhdmF0YXJWYWx1ZSksXG4gICAgICBmb250OlxuICAgICAgICBNYXRoLmZsb29yKHRoaXMuc2l6ZSAvIHRoaXMudGV4dFNpemVSYXRpbykgK1xuICAgICAgICAncHggSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZicsXG4gICAgICBsaW5lSGVpZ2h0OiB0aGlzLnNpemUgKyAncHgnLFxuICAgICAgLi4udGhpcy5zdHlsZVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogcmV0dXJucyBpbWFnZSBzdHlsZVxuICAgKlxuICAgKiBtZW1iZXJPZiBBdmF0YXJDb21wb25lbnRcbiAgICovXG4gIHByaXZhdGUgZ2V0SW1hZ2VTdHlsZSgpOiB2b2lkIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/ICc1MCUnIDogdGhpcy5jb3JuZXJSYWRpdXMgKyAncHgnLFxuICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlckNvbG9yID8gJzFweCBzb2xpZCAnICsgdGhpcy5ib3JkZXJDb2xvciA6ICcnLFxuICAgICAgd2lkdGg6IHRoaXMuc2l6ZSxcbiAgICAgIGhlaWdodDogdGhpcy5zaXplLFxuICAgICAgLi4udGhpcy5zdHlsZVxuICAgIH07XG4gIH1cbiAgLyoqXG4gICAqIEZldGNoIGF2YXRhciBpbWFnZSBhc3luY2hyb3Vuc2x5LlxuICAgKlxuICAgKiBwYXJhbSB7U291cmNlfSBzb3VyY2UgcmVwcmVzZW50cyBhdmF0YXIgc291cmNlXG4gICAqIG1lbWJlcm9mIEF2YXRhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaEFuZFByb2Nlc3NBc3luY0F2YXRhcihzb3VyY2U6IEFzeW5jU291cmNlKTogdm9pZCB7XG4gICAgdGhpcy5hdmF0YXJTZXJ2aWNlXG4gICAgICAuZmV0Y2hBdmF0YXIoc291cmNlLmdldEF2YXRhcigpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmlzQWxpdmUpLFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gc291cmNlLnByb2Nlc3NSZXNwb25zZShyZXNwb25zZSwgdGhpcy5zaXplKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGF2YXRhclNyYyA9PiAodGhpcy5hdmF0YXJTcmMgPSBhdmF0YXJTcmMpLFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICBgbmd4LWF2YXRhcjogZXJyb3Igd2hpbGUgZmV0Y2hpbmcgJHtzb3VyY2Uuc291cmNlVHlwZX0gYXZhdGFyIGBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhdmF0YXIgc291cmNlXG4gICAqXG4gICAqIHBhcmFtIHNvdXJjZVR5cGUgYXZhdGFyIHNvdXJjZSB0eXBlIGUuZyBmYWNlYm9vayx0d2l0dGVyLCBldGMuXG4gICAqIHBhcmFtIHNvdXJjZVZhbHVlICBzb3VyY2UgdmFsdWUgZS5nIGZhY2Vib29rSWQgdmFsdWUsIGV0Yy5cbiAgICovXG4gIHByaXZhdGUgYWRkU291cmNlKHNvdXJjZVR5cGU6IEF2YXRhclNvdXJjZSwgc291cmNlVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NvdXJjZUV4aXN0KHNvdXJjZVR5cGUpKSB7XG4gICAgICB0aGlzLnNvdXJjZXMucHVzaChcbiAgICAgICAgdGhpcy5zb3VyY2VGYWN0b3J5Lm5ld0luc3RhbmNlKHNvdXJjZVR5cGUsIHNvdXJjZVZhbHVlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNvdXJjZXMuZmluZEluZGV4KFxuICAgICAgICBzb3VyY2UgPT4gc291cmNlLnNvdXJjZVR5cGUgPT09IHNvdXJjZVR5cGVcbiAgICAgICk7XG4gICAgICB0aGlzLnNvdXJjZXNbaW5kZXhdLnNvdXJjZUlkID0gc291cmNlVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1NvdXJjZUV4aXN0KGF2YXRhclNvdXJjZTogQXZhdGFyU291cmNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlcy5tYXAoc291cmNlID0+IHNvdXJjZS5zb3VyY2VUeXBlKS5pbmNsdWRlcyhhdmF0YXJTb3VyY2UpO1xuICB9XG59XG4iXX0=
{
"name": "ngx-avatar",
"description": "A universal avatar component for Angular 4+ applications that fetches / generates avatar based on the information you have about the user.",
"version": "3.3.2",
"version": "3.3.3",
"keywords": [

@@ -6,0 +6,0 @@ "angular",

@@ -270,3 +270,3 @@ ## &lt;ngx-avatar&gt;

## Release Notes & History
* 3.3.1 : Bug fixes
* 3.3.x : Bug fixes
* 3.3.0 : Override Source priority order when importing AvatarModule

@@ -273,0 +273,0 @@ * 3.2.0 : Add support to Angular 7

Sorry, the diff of this file is too big to display

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 too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc